我遇到了express和promisses中的錯誤問題。承諾中的快速錯誤處理
我想要最好的方式來處理錯誤,創建一個標準的方式來做到這一點在我的應用程序。
不過,我在面前的問題:
validate(req.body)
.catch(e => next(new APIError(400, e)))
.then(validatedbody => searchdatabase(validatedbody))
.then(dbResult => validate(dbResult))
.catch(e => next(new APIError(500, e)))
// results from db should always be valid
.then(validatedDbResult => res.json(validatedDbResult))
如果身體是錯誤的,我們應該停止併發送錯誤,錯誤將使用錯誤處理中間件發送,但是被測件承諾如何工作,它也將繼續下一步(在數據庫中搜索)。
我該怎麼辦? 我是否正確地處理錯誤?
非常感謝你, Giltho
命名參數?我認爲這不會奏效。 – Bergi
是的,糾正它,這是一個例子,它不是我的實際代碼 – Giltho