javascript

[javascript] async/await (1)

강강강 2021. 12. 29. 17:12

- 비동기 환경에서 실행하지만 실행이 끝나야 다음을 실행한다.

- 즉, 실행은 비동기고 실행순서는 동기다.

- async 는 키워드가 아니고 "async function" 이 키워드 개념이고 async 함수라고 부른다.

- await 는 키워드

 

function create(param){
	return new Promise((reslove) => {
    	resolve(param);
    });
};
async function getPoint(option){
	const value = await create(option);	// 호출된 함수에서 promise 인스턴스를 반환해 비동기처리를 하게된다
    log(value);
};
getPoint({point: 100});

 

async 함수

- 비동기 함수를 뜻하며 AsyncFunction 오브젝트를 생성하여 반환한다.

- async 함수가 호출되면 Promise 인스턴스를 반환한다.

- async 함수의 return 값을 처리하려면 then()을 함수 호출에 연결해 작성한다.

- async 함수에서 throw 가 발생하면 reject() 로 처리된다. 

 

async function sports(){  //엔진이 async 함수를 만나면 AsyncFunction 오브젝트로 생성한다.
	return "soccer";
};
log(Object.prototype.toString.call(sports));