1

我正在寻找在 Javascript 中制作异步迭代器的最佳方法。我已经在使用生成器和 async/await 函数,但是如果不使用最新的 Node.js 版本 (10.x),我找不到实现所谓的 for-await-of 循​​环的方法。

问题如下:

我正在从 API 获取大量数据,我需要滚动它的内容。我不想将所有内容存储在一个数组中,因为它会在 RAM 中爆炸。

我知道如何使用流来做到这一点,但使用生成器来做到这一点会更酷(在我看来)。

谢谢你的帮助,

最好的祝福,

-- 科伦丁

4

1 回答 1

0

异步迭代器在 v10 以下的 node.js 中不可用,但是有一些非常好的方法可以在没有迭代器的情况下异步使用流,例如scramjet

const stream = DataStream.from(someNodeObjectStream);
await (async () => {
    while (let data = await stream.whenRead()) {
        doSomethingWith(data);
    }
})();

这或多或少是您从异步迭代器中获得的语​​法糖。

于 2018-07-02T21:02:33.253 回答