Fork me on GitHub

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捕捉

posted @ 2021-04-18 09:12  Kaicy  阅读(1108)  评论(0)    收藏  举报