最近在學 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) } }