2016-07-07 3 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 является ReadableByteStream - как я декодировать его в строку?Декодирование ReadableByteStreams

Действительно ли decode правильный термин?

ответ

1

Там встроен декодер для этой цели:

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

ОК, спасибо, я не знаю, что. И если бы я хотел сделать это «вручную»? – Ben

+1

Вы можете использовать 'r.body.getReader()' и читать фрагменты данных с помощью метода 'read()', или вы можете создать новый поток из него с помощью метода pipeThought. Для получения дополнительной информации см. Примеры здесь: https://streams.spec.whatwg.org/#rs-get-reader –

+1

Также для декодирования фрагментов UIntArray, которые вы получите из 'read()', в качестве строки utf-8 - вы можете использовать 'TextDecoder', что-то вроде:' new TextDecoder («utf-8»). decode (data); ' –