我正在寻找在Javascript中创建异步迭代器的最佳方法。我已经在使用生成器和异步/等待函数,但是如果不使用最新的Node.js发行版(10.x),我找不到一种方法来实现所谓的等待循环。
问题如下:
我正在从一个API中获取大量数据,我需要滚动其中的内容。我不想将所有内容存储在一个数组中,因为它会在RAM中爆炸。
我知道如何使用streams来做这件事,但(在我看来)使用生成器来做会更酷。
谢谢你的帮忙,
诚挚的问候,
--科伦丁
发布于 2018-07-03 05:02:33
异步迭代器在v10下面的node.js中不可用,但有一些非常好的方法可以在没有迭代器的情况下异步使用流,例如使用scramjet
const stream = DataStream.from(someNodeObjectStream);
await (async () => {
while (let data = await stream.whenRead()) {
doSomethingWith(data);
}
})();
这或多或少是你从异步迭代器中得到的语法糖。
https://stackoverflow.com/questions/51101122
复制相似问题