web/javascript
JS Promise.all & Promise.race
blackbearwow
2023. 2. 21. 00:30
생활코딩 강좌: 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');
});