用于“流式”对象数组的JavaScript类型

时间:2018-03-20 14:06:25

标签: javascript node.js ecmascript-6 streaming es6-promise

我有一个从异步函数中获取的对象数组,我想“打开一个通道”并“流”接收到的对象。我怎样才能实现这个概念 可能我想在我的代码中的不同位置将对象追加到“流”

1 个答案:

答案 0 :(得分:1)

因此,您希望定期或基于某些输入数组运行异步函数,进行异步调用并将返回数组的项目作为流推送。

正如@fathyb提出的那样,使用流库最容易实现,下面的例子是scramjet

const {DataStream} = require("scramjet");

const blocks = require("input-array.json"); // the array of inputs

const myStream = DataStream.fromArray(blocks)                
                                            // create a stream from your input array
    .setOptions({maxParallel: 1})           // make sure you're running 1 call at a time
    .map(async (block) => yourAsyncFunction(block)) 
                                            // get the data asynchronously 
                                            // and return a stream of arrays
    .flatten()                              // last - turn your arrays into a stream of
                                            // contents

这应该是你在几个简单的行中所追求的。 :)