作爲我開發的Node.js/Express API的一部分,我構建了一個自定義錯誤處理程序,可以讓我在需要時拋出特定的錯誤。 BadRequest或NotFound等。Node.js - 在ES6諾言鏈中拋出異常
當我希望拋出承諾鏈時,會出現問題。例如:
的話題多閱讀後,我看到這個錯誤將被承諾被吞噬,從而導致出現未處理的承諾拒絕。
我知道我可以拒絕,但我不知道我怎麼可以然後處理特定的錯誤(而不是拒絕我不想要的catchall)。
另外,要拒絕,我是否需要在我的承諾鏈中創建新的承諾?這感覺很混亂。
任何人都可以建議如何處理在承諾鏈中拋出特定異常?
在承諾鏈,您要麼做一個'throw'或返回拒絕承諾返回錯誤。要麼將承諾鏈更改爲拒絕狀態,然後您可以在承諾鏈中的更高級別處理。鏈中處理錯誤的地方取決於你想要完成的事情。但是,你必須在某個地方處理承諾鏈中的拒絕。異步異常無法在其他任何地方被捕獲,因此它們在沒有處理它們的情況下幾乎沒有用處,然後在發生該情況時決定該做什麼。 – jfriend00