它确实存在,并且有效,但目前它在一个名为"harmony"的标志后面。
example.js
async function* async_generator() {
for (let i = 0; i < 10; i++) {
yield await new Promise(r => setTimeout(_ => r("hello world"), 100))
};
}
async function main(){
for await (let item of async_generator()){
console.log(item);
}
}
main().catch(console.log);
在(node v8.5.0)上运行(在我的情况下有效)
node --harmony-async-iteration example.js
在Node.js中没有异步生成器函数。
不过,他们仍在研究其语义,可以参考异步迭代提案。
async
/await
成为 ES8 的标准。 - Bergi