前端面试题 - 109. 实现一个简单的异步串行执行函数(S
接收一组异步任务,并按照顺序依次执行,确保前一个任务完成后再执行下一个任务。
关键点:使用 reduce 方法和 Promise 的链式调用来实现异步任务的串行执行和结果的累加。
function series(tasks) {
return tasks.reduce((promiseChain, currentTask) => {
return promiseChain.then((result) => {
return currentTask().then((currentResult) => {
return result.concat(currentResult);
});
});
}, Promise.resolve([]));
}