promise은 자바스크립트 비동기 처리에 사용되는 객체이다.
데이터를 요청하고 응답이 들어올 때까지 다른 task를 처리할 수 있도록 하는 것이다.
자바스크립트를 통해 비동기 코드를 처리하는 방법에는 callback, promise, async-await 등이 있다.
Promise.all은 모든 프라미스가 이행될 때까지 기다리다 그 결과 값을 담은 배열을 반환하는 매서드이다.
const onClickPromise = async () => {
const result1 = await new Promise((resolve, reject) => {
setTimeout((resolve("3초 후 실행됩니다.")) => {}, 3000)
})
const result2 = await new Promise((resolve, reject) => {
setTimeout((resolve("2초 후 실행됩니다.")) => {}, 2000)
})
const result3 = await new Promise((resolve, reject) => {
setTimeout((resolve("1초 후 실행됩니다.")) => {}, 1000)
})
};
// Promise.all()
const onClickPromiseAll = async () => {
const result = await Promise.all([
setTimeout((resolve("3초 후 실행됩니다.")) => {}, 3000)
setTimeout((resolve("2초 후 실행됩니다.")) => {}, 2000)
setTimeout((resolve("1초 후 실행됩니다.")) => {}, 1000)
])
};
참고 - https://koras02.tistory.com/194#Promise-all [Koras02코딩웹:티스토리]