最近在學 node ,之前對 async/await 和 promise 略懂,但不是很熟悉,大家都知道,promise 返回的 resolve 對象可能用 await 去接,最近在寫代碼的時候,突發奇想,既然 resolve 的代碼 await 接收的到,那 reject 的呢,我覺得可能接收不到,隨之我就試驗了一下,果不其然,報錯了,哈哈哈,那么疑問就隨之而來了,那萬一碰到 reject 的情況怎么辦,豈不是..
使用 try{} catch(err) {} 的方法捕獲promise返回錯誤reject
export function getSetting() { return new Promise((resolve, reject) => { wx.getSetting({ withSubscriptions: true, success(res) { resolve(res) }, fail(err) { reject(err) } }) }) } async handleaddress() { try { await getSetting() } catch (err) { console.log(err) } }
