function fetchUser() {
return new Promise((resolve, reject) => {
// do network request in 10 secs...
resolve('seju')
});
}
const user = fetchUser();
user.then(console.log);
console.log(user)
이렇게 promise
로 구현 하는 것을 더 간단하게
async로 구현할 수 있다
async function fetchUser() {
resolve('seju')
});
}
const user = fetchUser();
user.then(console.log);
console.log(user)
await
이라는 키워드는async
가 붙은 함수에만 쓸 수 있다.
function delay(ms) {
return new Promise(resolve =>
setTimeout(resolve, ms))
}
async function getApple() {
await delay(1000);
return 'apple'
}
async function getBanana() {
await delay(1000);
return 'Banana'
}
function pickFruits() {
return getApple().then(apple =>
{ return getBanana().then( banana => `${apple} + ${banana}`);
})
}
pickFruits().then(console.log)
이렇게 프라미스로 작성되고 콘솔로그하는것을 await
을 써서 간편하게 할 수 있다.
function delay(ms) {
return new Promise(resolve =>
setTimeout(resolve, ms))
}
async function getApple() {
await delay(1000);
return 'apple'
}
async function getBanana() {
await delay(1000);
return 'Banana'
}
async function pickFruits() {
const apple = await getApple();
const banana = await getBanana();
return `${apple} + ${banana}`
}
pickFruits().then(console.log)
function pickAllfruits() {
return Promise.all([getApple(), getBanana()]).then(fruits =>
fruits.join(' + '));
}
pickAllfruits().then(console.log)
간편하게 Promise.all 해주면된다.