Javascript
async, await 에 대하여...
피치크러스트
2021. 4. 5. 14:12
1. async, await는 promise 객체를 기반으로 리턴하는 함수이다.
function p(ms){
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(ms)
}, ms);
});
}
p(1000).then(ms => {
console.log(`${ms} ms 후에 실행됩니다.`);
});
1-1. Promise 객체를 리턴하는 함수를 await 로 호출하는 방법.
const ms = await p(1000);
console.log(`${ms} ms 후에 실행됩니다.`);
1-1 코드는 아래와 같은 에러가 생긴다.
SyntaxError: await is only valid in async fuction
=> async 함수안에서만 await 가 유효하단 의미.
2. await 를 사용하는 경우엔 항상 async 함수 안에서 사용되어야 한다.
async function main(){
const ms = await p(1000);
console.log(`${ms} ms 후에 실행됩니다.`);
};
3. resoluve -> try, reject -> catch 안에다가 처리한다.
async function main(){
try{ // 성공 시
const ms = await p(1000);
console.log(`${ms} ms 후에 실행됩니다.`)
},
catch(err){ // 실패 시
console.log(err)
}
}