Javascript 中的异步迭代器
Async iterator in Javascript
我正在寻找在 Javascript 中制作异步迭代器的最佳方法。我已经在使用生成器和 async/await 函数,但是如果不使用最新的 Node.js 版本(10.x,我找不到实现所谓的 for-await-of 循环的方法).
问题如下:
我正在从 API 中获取大量数据,我需要滚动其中的内容。我不想将所有内容存储在一个数组中,因为它会在 RAM 中爆炸。
我知道如何使用流来做到这一点,但(在我看来)使用生成器会更酷。
感谢您的帮助,
此致,
--
科伦廷
异步迭代器在 v10 以下的 node.js 中不可用,但是有一些非常好的方法可以在没有迭代器的情况下异步使用流,例如 scramjet
:
const stream = DataStream.from(someNodeObjectStream);
await (async () => {
while (let data = await stream.whenRead()) {
doSomethingWith(data);
}
})();
这或多或少是您从异步迭代器中获得的语法糖。
我正在寻找在 Javascript 中制作异步迭代器的最佳方法。我已经在使用生成器和 async/await 函数,但是如果不使用最新的 Node.js 版本(10.x,我找不到实现所谓的 for-await-of 循环的方法).
问题如下:
我正在从 API 中获取大量数据,我需要滚动其中的内容。我不想将所有内容存储在一个数组中,因为它会在 RAM 中爆炸。
我知道如何使用流来做到这一点,但(在我看来)使用生成器会更酷。
感谢您的帮助,
此致,
-- 科伦廷
异步迭代器在 v10 以下的 node.js 中不可用,但是有一些非常好的方法可以在没有迭代器的情况下异步使用流,例如 scramjet
:
const stream = DataStream.from(someNodeObjectStream);
await (async () => {
while (let data = await stream.whenRead()) {
doSomethingWith(data);
}
})();
这或多或少是您从异步迭代器中获得的语法糖。