동캄의 코딩도장

JS [async] 본문

front/HTML&CSS&JS

JS [async]

동 캄 2022. 1. 25. 11:56
// async & await
// clear style of using promise :)

// 1. async

//promise 사용
// function fetchUser(){
//     return new Promise((resolve,reject)=>{
//     resolve('ellie');
//     });
// }

// const user =fetchUser();
// user.then(console.log);
// console.log(user);


// async 사용

async function fetchUser(){
    return 'ellie';
}
const user=fetchUser();
user.then(console.log);


// 2, await
function delay(ms){
return new Promise(resolve=>setTimeout(resolve,ms));
}

async function getApple(){
    await delay(2000);
    return 'apple';
}

async function getBanana(){
    await delay(3000);
    return 'banana';
}
//promise 사용
// function pickFruits(){
//     return getApple()
//     .then(apple =>{
//         return getBanana().then(banana=>`${apple}+${banana}`);
//     })
// }

async function pickFruits(){
    try{
    const apple = await getApple();
    const banana = await getBanana();
    return `${apple}+${banana}`;
}
catch{

}
}

pickFruits().then(console.log);

// useful promise APIs 병렬처리

function pickAllFruits(){
    return Promise.all([getApple(),getBanana()])
    .then(fruits=>fruits.join('+'));
}

pickAllFruits().then(console.log);

function pickOnlyOne(){
    return Promise.race([getApple(),getBanana()]);
}
pickOnlyOne().then(console.log);

'front > HTML&CSS&JS' 카테고리의 다른 글

JQuery  (0) 2023.03.08
JS [콘솔 사용 tip]  (0) 2022.01.27
JS [callback-to-promise 예제]  (0) 2022.01.25
JS [promise]  (0) 2022.01.25
JS [call back]  (0) 2022.01.25