function hello() {
return "shipjh Hi~";
}
**async** function helloAsync() {
return "Hi async";
}
console.log(hello()); //shipjh Hi~
console.log(helloAsync()); // Promise {<pending>} 반환
async 를 붙인 함수는 Promise를 반환했다.
그렇다면..
then 을 쓸수있다.
async function helloAsync() {
return "Hi async"; // resolve의 효과
}
helloAsync().then((res) => {
console.log(res); // Hi async
});
💡async 를 사용한 함수는 Promise 를 반환한다.!
3초후에 실행하려고 하는데 코드가 너무길다.
function delay(ms) {
return new Promise((success) => {
setTimeout(success, ms);
});
}
async function helloAsync() {
**return delay(3000).then(() => {
return "Hi async";
});**
}
helloAsync().then((res) => {
console.log(res);
});
간단하게 await 을 사용하면 된다.
function delay(ms) {
return new Promise((success) => {
setTimeout(success, ms);
});
}
async function helloAsync() {
await delay(3000); // delay 를 처리된후 return 한다.
return "Hi async";
}
helloAsync().then((res) => {
console.log(res);
});