3
我最近發現自己處於非常難以調試的情況。 想象一下下面的非常簡單的情況:NodeJS:在Promise和呼叫拒絕中自動捕獲錯誤
function somePromise() {
return new Promise((resolve, reject) => {
SomeModule.someMethod();
AnotherModule.somePromise().then(resolve).catch(reject);
});
}
決心從來沒有所謂,但我並沒有在控制檯得到一個錯誤 - 這是很難調試!
原來,我忘了要求SomeModule
。在要求之後,代碼按預期工作。
有沒有辦法自動嘗試/捕獲我的代碼中的每個承諾與錯誤處理程序?我不想用try/catch塊來包圍我的Promises的正文,只是爲了能夠在將來更容易地找到這些錯誤。
在此先感謝您的意見!
這只是爲了簡化的目的,我做了一些更多的處理與承諾的結果證明「反模式」。 – CrushedPixel
不,沒有反模式的理由。只需執行'.then(processing)',其中'processing'是一個接受承諾結果並計算新返回值的函數。處理過程中很可能的錯誤是您沒有收到任何錯誤消息的真正原因。 – Bergi
他們不是,問題出在處理我自己承諾方法的方法的catch方法中。但謝謝你的意見。 – CrushedPixel