2016-11-03 27 views
0

爲什麼我需要這兩者?有什麼區別錯誤處理參數和JavaScript承諾中的catch之間的區別

之間

.then(doWork, errorHandler)

......還有......

.then(doWork) .catch(errorHandler)

它是爲了方便起見,都將發現錯誤?我需要同時使用還是僅使用一個?在哪些用例上?

+0

另一個可能的重複:[Promise:then vs then + catch](http://stackoverflow.com/q/33278280/5743988) – 4castle

回答

1

在第一個代碼片段中,如果成功處理程序拋出異常或拒絕承諾,則執行不會進入錯誤處理程序,因爲承諾已在此級別解決。

使用捕獲,你總是可以看到從以前的成功處理程序未處理的錯誤。