0
我正在創建一個與數據庫交互(使用sequelize)的nodejs應用程序。現在,我的要求是在數據庫連接出現問題時發出警報(snmp陷阱)。NodeJS - AOP爲數據庫異常執行通用操作
我可以使用。那麼下面實現這一點()趕上():
db.myModel.find(...)
.then(function() { //do some processing })
.catch (function(e) {
// TODO: write code to send an alert
// ...
})
上面代碼的問題是,我必須在整個代碼重複幾次,無論我做DB歡聲笑語。
我一直在尋找像AOP(Aspect Oriented Programming)這樣更簡單的方法。事實上,我發現了幾個庫(here和here),但是我沒有找到任何方法來執行建議,如果流程進入catch塊。
在Java的情況下,我們有一個工具來捕獲異常切入點。我想知道我們是否有類似的功能。
也許你是過度工程呢?更透明的方式就是編寫一個模塊,導出每個''.catch''塊調用的函數?像''.catch(myDBErrorHandler)''。 如果您使用Express,您可以在其中定義中間件,您可以定義一箇中間件來處理Sequelize Error實例的所有錯誤,並且只需「.catch(next)」。 我一直是一名Java開發人員,我知道過度工程很容易在你身後留下你的餘生。 – tiblu