async错误处理
(async () => { const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => { resolve('fetch data is me') }, 1000) }) } // 抽离成公共方法 const awaitWrap = (promise) => { return promise .then(data => [null, data]) .catch(err => [err, null]) } const [err, data] = await awaitWrap(fetchData()) console.log('err', err) console.log('data', data) // err null // data fetch data is me })()
记住,async 函数总是返回 promise。只要函数中有异常,Promise 会 reject。而且,如果一个 async 函数返回的是一个 reject 的 Promise,那么这个 Promise 依然会继续被 reject。
一辈子说长不长,说短不短,努力做好两件事:第一件事爱生活,爱身边的人,爱自己;第二件事是好好学习,好好工作,实现自己的人生价值观,而不仅仅是为了赚钱