[英]javascript promise catch in then
我使用knex promises進行抽象: Core.js
class CoreModel {
constructor(tableName) {
this.table = tableName;
}
add(payload, table) {
return this.conn()(table ? table : this.table)
.insert(payload)
.then(id => id)
.catch(err => getMsg(300, err))
.finally(() => { this.conn().destroy() });
}
我在控制器中打電話:
register.js
return this.Users.add(request.payload.users)
.then(id => id)
.catch(err => err);
為什么在core.js
它確實按照預期去捕獲但是catch不會傳播到catch
但是傳遞給register.js
then
我完全錯過了promises錯誤的東西?
真的在這里撓頭,這很簡單,但無法弄明白。
提前致謝
你正在捕捉(添加),捕捉就像在正常功能中一樣 - 如果你抓住它,它就會消失。
function add(a, b) {
try {
return a+b;
} catch(e) {
return something;
}
}
當你在try catch塊中調用'add'時。 你永遠不會抓到任何東西
如果您希望錯誤繼續,請執行以下操作
.catch(err => {getMsg(300, err); throw err;})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.