-4
promiseSettle이 Promise
을 반환해야합니다.이 약속은 input
의 모든 약속이 해결 될 때 충족되어야합니다. 해결되거나 거절 됨).나는`약속`*의 모든 약속이 해결 될 때 (약속했거나 거절 된 것을 의미 함)
성취 값은 객체의 배열, 각각 다음과 같은 서명을 가지고있을 것입니다 :
- @typedef {오브젝트} 정착 {부울} isFulfilled
- @property - 약속
- 를 해결 여부 @ 프로퍼티가 결정된 값 (존재하는 경우)
- @property {* =} reason - 이유는 (프로퍼티가 boolean 인 경우) 약속
- @param 거부되는 (존재하는 경우) 입력 {배열>.} - 약속
@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])
배열 누군가가이 일을 도울 수 있습니까? 예상되는 매개 변수를 사용하여 약속을 반환하는 방법을 잘 모르겠습니다.
코드는 이해되지 않는다. 다음과 같이 :'for (let i = 0; i {'는 유효한 코드조차도 아니야, 정리해주십시오.) – Intervalia
이것이 무슨 뜻입니까? https://stackoverflow.com/q/31424561/125981 –
"settle"소리가납니다. 아마도 당신은 아마도 태그가 붙지 않은 다른 것을 가지고있을 것 같은가요? 아니면 단지 sudo 코드를 매시 했나요? –