Promise.any

Tags
ES2021
 
전달받은 프로미스들 중 가장 빠르게 수신된 응답에 대한 값만을 반환한다.
전달받은 모든 프로미스들이 다 실패하는 경우에만 AggregateError객체와 함께 reject 처리된다.
 
const p1 = new Promise((resolve) => { setTimeout(() => { resolve('p1 resolved value') }, 1000) }) const p2 = new Promise((resolve) => { setTimeout(() => { resolve('p2 resolved value') }, 500) }) const p3 = new Promise((resolve) => { setTimeout(() => { resolve('p3 resolved value') }, 1800) }) Promise.any([p1, p2, p3]).then(value=>{ console.log(value) }) // p2 resolved value