관리 메뉴

투덜이 개발자

Promise.all , Promise.race 차이점 예제 본문

Program Language/JavaScript & Jquery

Promise.all , Promise.race 차이점 예제

엠투 2022. 2. 11. 22:50
반응형

Promise.all

<script>
	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');
	})
</script>

비동기 순으로 처리를 할때 제일 늦게 끝나는 timer(3000) 이 끝나야 작업이 끝난다.. 그러므로 결과는 3초

Promise.race

<script>
	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');
	})
</script>

Promise.all 은 제일 처음 끝나는 timer(1000) 이 끝나면 작업이 끝난다.. 그러므로 결과는 1초

https://youtu.be/a5AzftkvW9U

 

반응형