생활코딩 강좌: https://www.youtube.com/watch?v=a5AzftkvW9U&list=PLuHgQVnccGMBVQ4ZcIRmcOeu8uktUAbxI&index=5
Promise.all은 여러 작업을 모두 기다리는 것이고 Promise.race는 여러 작업중 가장 먼저 끝나는 작업만 기다리는 것이다.
promise를 반환하기 때문에 기다리고싶다면 await를 앞에 붙이면 된다.
Promise.all
function timer(time){
return new Promise(function(resolve, reject){
setTimeout(function(){
resolve(time);
}, time);
});
}
console.time('Promise.all');
Promise.all([timer(1000), timer(2000), timer(3000)]).then(function(result){
console.log('result', result);
console.timeEnd('Promise.all');
});

Promise.race
function timer(time){
return new Promise(function(resolve, reject){
setTimeout(function(){
resolve(time);
}, time);
});
}
console.time('Promise.race');
Promise.race([timer(1000), timer(2000), timer(3000)]).then(function(result){
console.log('result', result);
console.timeEnd('Promise.race');
});

'web > javascript' 카테고리의 다른 글
Objects의 시간복잡도 (0) | 2023.10.01 |
---|---|
youtube html에 삽입하기(youtube iframe_api) (0) | 2023.08.31 |
JS async & await (0) | 2023.02.20 |
JS Promise (0) | 2023.02.20 |
JavaScript - 동기(synchronous), 비동기(asynchronous) (0) | 2023.02.15 |