
Lastor
coding 修了一個有意思的 bug,算是 JS Promise 的經典坑吧

Lastor
try-catch 裡面執行 fn,沒加上 await

Lastor
導致 fn 報錯沒被 catch 到

Lastor
記得以前好像在 FB 看到 PJ 大大探討過這問題

Lastor
結果今天成功用上了這技術點


Lastor
原理很單純,因為 promise 直接 float 執行,js 會先跳過繼續往下跑

Lastor
所以 promise 的回應回來的時後,已經不會在 try-catch 的執行序了,也就捕獲不到了