`await`main1main2
`await``async function`
`await``async function`PromisePromise
`Promise
`Promise`
`Promise`~`then()`~`catch()`
`await`
`await`
I/O,
`await`
`then()`
`dummyAsyncFunction`1!
// : $ call api! →
async function main1() {
const res = await functionA1();
console.log(res);
console.log("")
}
// : $ → call api by awaiting!
async function main2() {
functionA2().then(res => console.log(res));
console.log("")
}
async function functionA1() {
return dummyAsyncFunction("call api");
}
async function functionA2() {
return await dummyAsyncFunction("call api by awaiting")
}
async function dummyAsyncFunction(message) {
return new Promise(resolve => {
setTimeout(() => {
resolve(message + "!")
}, (1000));
});
}