我在理解爲什麼在.catch
中使用throw
爲什麼給我"Unhandled promise rejection"
。如果我只是console.log
錯誤萬物按其應有的工作。throw和console.log與catch中的承諾的區別
「扔...引發當前代碼塊中的異常,並導致其 退出,或者如果在try塊中引發流向下一個catch語句。
console.error剛剛打印出向瀏覽器開發人員發送紅色消息 工具javascript控制檯並且不會導致執行流程的任何更改。「
(https://stackoverflow.com/a/25377160/7825826)
好像扔是處理它的正確方法?但是,爲什麼我會得到一個錯誤?
例如(如果我沒有任何DB上運行的1330千萬):
mongoose.connect('mongodb://localhost:1330/db')
.catch((error) => {
throw error;
});
給我關於「未處理的承諾拒絕」一個錯誤信息,但如果我console.log(error)
,這一切都很好。
你可以顯示代碼來演示你不明白的東西嗎? – lonesomeday
對不起,添加了我的代碼。 – gelv
當你在'catch()'中重新拋出'error'時,你期望發生什麼? – robertklep