promise和async/await區別


簡潔:異步編程的最高境界就是不關心它是否是異步。async、await很好的解決了這一點,將異步強行轉換為同步處理。
async/await與promise不存在誰代替誰的說法,因為async/await是寄生於Promise,Generater的語法糖。

 

錯誤捕獲
如果是reject狀態,可以用try-catch捕捉

let p = new Promise((resolve,reject) => {
setTimeout(() => {
reject('error');
},1000);
});

async function demo(params) {
try {
let result = await p;
}catch(e) {
console.log(e);
}
}

demo();

區別:
1 promise是ES6,async/await是ES7
2 async/await相對於promise來講,寫法更加優雅
3 reject狀態:
1)promise錯誤可以通過catch來捕捉,建議尾部捕獲錯誤,
2)async/await既可以用.then又可以用try-catch捕捉


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM