Skip to content

Instantly share code, notes, and snippets.

@jakearchibald
Last active Jun 15, 2021
Embed
What would you like to do?
async function getResponseSize(url) {
const response = await fetch(url);
let total = 0;
// Here comes the new bit…
for await (const value of response) {
total += value.length;
console.log('Received chunk', value);
}
return total;
}
@stryju
Copy link

stryju commented Nov 5, 2016

shouldn't it be

for await (const value of reader.read())

just trying to grasp how would it know about what is "awaitable" in this for..of

@jakearchibald
Copy link
Author

jakearchibald commented Nov 6, 2016

@stryju with:

for (const item of collection)

collection[Symbol.iterator] is called to get an iterator for collection. With:

for await (const item of collection)

collection[Symbol.asyncIterator] is called to get an iterator that returns promises.

@dandv
Copy link

dandv commented Oct 11, 2018

I get TypeError: response is not async iterable.

@Coder2012
Copy link

Coder2012 commented Jan 29, 2019

@dandv

response is a Promise and is not iterable, an array of them would be iterable however.

@SAIDEEPAKALETI
Copy link

SAIDEEPAKALETI commented Jun 15, 2021

I get TypeError: response is not async iterable.

i get the same error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment