Assuming I have a Koa web server with an endpoint like this:
const perform = require(...); // some generator function
exports.endpoint = function* () {
var results = yield getResults();
// Respond the results
this.body = results;
}
exports.getResults = function* () {
var actions = [...];
var results = [];
for (var action of actions) {
var result = yield perform(action);
results.push(results);
}
return results;
}
Now the client will get the respond after ALL the actions are performed obviously. but the things is each action is dependent on the completion of the previous.
Is there a way to execute them in parallel?
Note: Turning them to Promises is not an option, unless I can somehow return the results, and not resolve() them.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…