哪些版本的nodejs支持异步迭代器?并且有一种方法可以使其在旧版的nodejs中工作。
语法
for await (let content of promises) { // promises => array of promise objects
console.log(content);
}
答案 0 :(得分:3)
V10应该支持它。这是带有和不带有异步迭代器的示例:
使用:
async function print(readable){
readable.setEncoding('utf8');
let data = '';
for await (const chunk of readable) {
data += chunk;
}
}
print(fs.createReadStream('./yourpath'))
没有:
function print(readable){
readable.setEncoding('utf8');
let data = '';
readable.on('data', chunk => data += chunk)
readable.on('end', () => console.log(data))
}
print(fs.createReadStream('./yourfilepath'))
要与旧版本的nodeJS
一起使用,可以使用babel-plugin-transform-async-generator-functions
,但我确实认为babel V7随附了它。
答案 1 :(得分:1)
我已经成功地使用 8.9.1 测试了异步/等待迭代器。对于较旧的版本,所有承诺都在等待,然后在结果数组上进行迭代。