我并没有再reduce的第一个参数中 return 任何值
为什么 _ 变量为什么会等于 Promise { undefined }
?
async function fn() {
let docs = [1, 2, 3, 4]
let a = await docs.reduce(async (_, e) => {
await _;
console.log(_)
await new Promise((resolve, reject) => {
setTimeout(() => {
console.log(e);
resolve();
}, 1000)
})
}, undefined);
}
fn()
没有return等同于return undefined;而async 函数 返回的是一个promise,所以_变量就是Promise<undefined>