我有一个从异步函数中获取的对象数组,我想“打开一个通道”并“流”接收到的对象。我怎样才能实现这个概念 可能我想在我的代码中的不同位置将对象追加到“流”
答案 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
这应该是你在几个简单的行中所追求的。 :)