鉴于我有一个异步生成器:
async function* generateItems() {
// ...
}
将所有结果迭代到数组中的最简单方法是什么?我尝试了以下方法:
// This does not work
const allItems = Array.from(generateItems());
// This works but is verbose
const allItems = [];
for await (const item of generateItems()) {
allItems.push(item);
}
(我知道这在生产应用程序中可能是不好的做法,但它对于原型(prototype)设计很方便。)
最佳答案
这是一个将异步迭代器转换为数组的简单函数,而无需包含整个包。
async function toArray(asyncIterator){
const arr=[];
for await(const i of asyncIterator) arr.push(i);
return arr;
}
关于javascript - 如何将异步迭代器转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58668361/