본문 바로가기
Internship

Async/Await

by Doromi 2019. 5. 4.
728x90
반응형

비동기 처리를 할 수 있는 방법

  1. Callback
  2. Promise
  3. Async/Await

 

 

Async

 

aysnc 함수의 리턴값은 promise 이다.

function myFunc(){
	return 'func';
}

async function myAsync(){
	return 'async';
}

console.log(myFunc());
console.log(myAsync());

 

결과는 

func

Promise {<resolved>: "async"}

 

 

async function myAsync(){
	return 'async';
}

myAsync().them((result) => {
	console.log(result);
});

 

결과는 async

 

 

즉, promise는 비동기 연산을 다루되, 비동기 연산이 끝나면 resolve하고 resolve함수를 실행한다.

실패하면, reject함수를 실행한다.

 

async에서는 resolve로 넘기는 값을 return하게 된다. 만약에 reject을 해야한다면 

함수 안에서 error를 처리한다.

 

 


 

 

Await

 

 

async 로 함수를 구현했을 때,
비동기 처리를 해주는 것이다.


 

async function myAsync(){
	await delay();
	return 'async';
}

 

이렇게 하면 delay함수가 다 실행될때까지
기다렸다가 async를 리턴하게 된다.

 

728x90
반응형

'Internship' 카테고리의 다른 글

Git branch->master, conflict 나는 경우, rebase  (2) 2024.01.12
this  (0) 2019.05.04
var vs let  (0) 2019.05.04
scope와 closures  (0) 2019.05.04
프로미스  (0) 2019.05.04