for await()

in core/pipeline.ts [38:58]


        for await (const batch of generator) {
            if (batchIndex === stage.config.batchLimit) {
                break;
            }
            
            const execSuccess = await stage.datajet.transmitBatch(batch)
            executionResult.isExecutionSuccess &&= execSuccess;
            pipelineContext.isExecutionSuccess &&= execSuccess;

            const now = Date.now();
            const deltaTime = now - batchStartTime;
            const remainingTime = millisecondsPerBatch - deltaTime;
            await delay(remainingTime);
            ++batchIndex;

            if ((now - startTime) > stage.config.timeLimit * 1000) {
                break;
            }

            batchStartTime = Date.now();
        }