这个问题在这里已有答案:
promise24tle必须返回一个 Promise
,当 input
中的所有承诺都已解决时(意味着,已解决或被拒绝),它将被满足 .
履行值将是一个对象数组,每个对象具有以下签名:
-
@typedef {对象}结算
-
@property isFulfilled - 承诺是否已解决
-
@property isRejected - 承诺是否被拒绝
-
@property {* =} value - 用于解析promise的值(如果有)
-
@property {* =} reason - 拒绝承诺的原因(如果有的话)
-
@param {Array . >}输入 - 一组Promises
-
@return {承诺 . >}
function promiseSettle(input) {
let promiseArray = [];
for (let i = 0; i < input.length; i++) {
Promise.resolve(input[i]).then(output => {
promiseArray.push(output);
console.log(promiseArray);
}, reason => {
promiseArray.push(reason);
})
}
}
// testing data
var p1 = new Promise((resolve, reject) => {
setTimeout(reject, 1, "first promise of 1 sec");
});
var p2 = new Promise((resolve, reject) => {
setTimeout(resolve, 1, "second promise of 2 sec");
})
var p3 = new Promise((resolve, reject) => {
setTimeout(resolve, 1, "rejected promise");
})
promiseSettle([p1, p2, p3])
有人可以帮忙吗?我不确定如何使用预期参数返回promise .
1 回答
这应该做到这一点 .