logweft.

JS-L3-042 / 비동기 제어

Promise allSettled 결과

중급

문제

인수 없는 async 작업 함수들을 Promise.allSettled로 실행해보는 모형입니다. values 배열의 0 이상 값은 성공, 음수는 문자열 "negative"로 실패하도록 만들고 각 결과를 {ok,value} 객체로 반환하세요.

solve(...args) 함수에서 값을 반환하세요. console 출력은 정답 판정에 사용하지 않습니다.

입출력 예시

예제 1
입력: [[1,-2,0]]
반환: [{"ok":true,"value":1},{"ok":false,"value":"negative"},{"ok":true,"value":0}]
예제 2
입력: [[]]
반환: []
힌트

성공·실패를 각각 status로 구별하세요.

해설·정답 보기

allSettled는 하나가 실패해도 모든 결과를 입력 순서대로 제공합니다. 실제 서버 요청은 사용하지 않습니다.

async function solve(values) { const results=await Promise.allSettled(values.map(v=>v<0?Promise.reject('negative'):Promise.resolve(v))); return results.map(r=>r.status==='fulfilled'?{ok:true,value:r.value}:{ok:false,value:r.reason}); }
모르는 문법은 코드 사전에서 ↗
solution.js결과 비교

코드는 이 브라우저에 자동 저장돼요.

풀이 결과

코드를 작성하고 채점하기를 눌러보세요.

    학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.

    어떤 기록을 찾으세요?

    키워드를 입력하면 기록을 찾아드려요.