mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-22 03:26:22 +00:00
812 B
812 B
date | id | title |
---|---|---|
2020-10-30 | 3dac2b04-4015-4c1f-847c-5e677aec1fc0 | JavaScript For Await Of |
Syntax
async function f() {
for await (const x of createAsyncIterable(["a", "b"])) {
console.log(x);
}
}
// Output:
// a
// b
Rejections
Like await
in async
functions, th eloop throws
an exception if next()
returns a rejection:
function createRejectingIterable() {
return {
[Symbol.asyncIterator]() {
return this;
},
next() {
return Promise.reject(new Error("Problem!"));
},
};
}
(async function () {
// (A)
try {
for await (const x of createRejectingIterable()) {
console.log(x);
}
} catch (e) {
console.error(e);
// Error: Problem!
}
})(); // (B)