我有一個相當長的支票鏈Q,我會打斷它,當一個錯誤引起:Node.js的中止鏈Q中的不同點
我已經看了How to abort a failing Q promise in Node.JS和其他答案的SO,但對我來說似乎是不可能的,那不可能不存在其他任何東西。
例 `
Q().then(function(){
return Q.ninvoke(myObject, 'save');
}).fail(functon(err){ // if error
res.status(400).send(err.message);// like duplicate key
}).then(function(){
add object another object to db referenced to myObject
}).fail(functon(err){ // if error
res.status(400).send(err.message);// like connection error
}).then(function(){
do somethinng else
}).done()
`
顯然,如果不能保存的第一個對象,我也不會通過其他措施去,但我會退出,不扔的錯誤和阻塞執行服務器而不發送消息給客戶端。
我試過兩個函數添加到DONE(OK,拒絕),但只有OK()被調用。 我想避免如果可能分塊中的代碼3種不同的功能。