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결과 비교
코드는 이 브라우저에 자동 저장돼요.
풀이 결과
코드를 작성하고 채점하기를 눌러보세요.
학습용으로 제공된 조건을 확인해요. 알고리즘 사용 방식·설계 의도는 해설과 함께 비교해보세요.