[JavaScript] Promise.all

Jisoo Choi·2022년 1월 21일
0

Javascript

목록 보기
5/8
post-thumbnail

Promise

  • 자바스크립트 비동기 처리에 사용되는 객체.
let promise = new Promise(function(resolve, reject) {
  
  resolve("done");
  reject(new Error("…")); // 무시됨
  
});

💡 Promise.all()

  • 여러 개의 프로미스를 처리할 때 사용!
  • 모든 프로미스가 이행될 때까지 기다렸다가 그 결과값을 담은 배열을 반환하는 메서드.
  • 복수의 URL에 동시에 요청을 보내고, 모든 요청의 응답이 완료되길 기다려야 할 때 사용한다.
    • 여러개의 프로미스가 모두 resolve되면 다음 로직을 실행해야 하는 경우
ex>
let promise = Promise.all([...promises...]);

💻 여러 개의 프로미스 동시 처리

> 코드


function run(ms){
	return new Promise(resolve =>setTimeout(resolve, ms));
}

const add =async ()=>{
	await run(1000);
  	return 'add success!';
}

const update =async ()=>{
	await run(2000);
  	return 'updated!';
}

const delete =async ()=>{
	await run(3000);
  	return 'del!';
}

async function process(){
	const results = await Promise.all([add(),update(),delete()]);  
  	console.log(results);
}
	
process()

> 결과

["add success!", "update!", "del!"]


Reference

profile
👩‍🚀 No worries! Just record

0개의 댓글