将多个箭头函数作为 Promise 并打印来自箭头函数的所有解析的值

Naf*_*Joy 1 javascript asynchronous promise ecmascript-6 arrow-functions

我正在尝试打印

['第一个电话!','第二个电话!' ]

我的代码:

function get(apiCalls) {
    return Promise.all(apiCalls)
}

//------------ START
let promise = get([
    () => Promise.resolve("First call!"),
    () => Promise.resolve("Second call!")
]);

if (promise) {
    promise.then((result) => result).catch((err) => console.log(err));
}
//------------ END
Run Code Online (Sandbox Code Playgroud)

但我得到输出:

[ [功能], [功能] ]

STARTEND的代码片段不能更改

Fel*_*ing 5

您正在将一组函数传递给Promise.all,但它需要一组承诺。要么调用函数:

return Promise.all(apiCalls.map(f => f()))
Run Code Online (Sandbox Code Playgroud)

或通过承诺:

let promise = get([
    Promise.resolve("First call!"),
    Promise.resolve("Second call!")
]);
Run Code Online (Sandbox Code Playgroud)