2016-07-07 5 views
0
var url = 'http://www.googleapis.com/customsearch/v1?q=foo&searchType=image'; 

window.fetch(url) 
    .then(decode) 
    .catch(err => console.log(err)); 

function decode(r) { 
    // r.body is a ReadableByteStream - how do I decode it to a string? 
} 

r.body ist ein ReadableByteStream - wie kann ich es in eine Zeichenfolge entschlüsseln?Dekodierung ReadableByteStreams

Ist decode der richtige Ausdruck?

Antwort

1

Es wird in Decoder für diesen Zweck gebaut:

window.fetch(url) 
    .then(r => r.text()) 
    .catch(err => console.log(err)); 
+0

OK, danke ich das nicht wusste. Und wenn ich es "manuell" machen wollte? – Ben

+1

Sie können 'r.body.getReader()' verwenden und Datenblöcke daraus mit der 'read()' Methode lesen, oder Sie können einen neuen Stream daraus mit der pipeThought-Methode erstellen. Für weitere Informationen siehe Beispiele hier: https://streams.spec.whatwg.org/#rs-get-reader –

+1

Auch um UIntArray Chunks zu decodieren, die Sie von 'read()' erhalten, als utf-8 String - Sie können 'TextDecoder' verwenden, etwas wie:' new TextDecoder ("utf-8"). decode (data); ' –