const outputs = await pipe( postIds,// array of numbers, which is... already an iterable mapGen(fetchById),// generator of an array of eventually all resolved promises (requested in chunks of 3) chunkGen(5),// generator of arrays of 5 promises, our "batch" spreadBatchesAsyncGen,// async generator of individual resolved promises forEachAsyncGen(renderPost)// Promise of an array of numbers )