【发布时间】:2019-12-02 12:18:29
【问题描述】:
我正在为我的应用程序使用环回 v3 我的用例是验证请求标头中是否存在某些令牌,如果令牌无效,则发送标准格式的适当消息。我正在尝试使用 beforeRemote 来做到这一点。
我尝试的是返回 当令牌无效并且响应通过自定义中间件格式化(使用快速 res 对象)时,承诺拒绝,我能够做到这一点。 当我这样做时,我收到了未处理的承诺拒绝警告,似乎 Loopback 没有处理承诺拒绝。 有没有更好的方法来处理用例。
Module_Name.beforeRemote("*", async function(ctx, modelInst, next) {
let token = getTokenFromHeader(ctx.req.headers);
let tokenValid = await helper.validateToken(token);
if (tokenValid){
return Promise.reject({statusCode:401}); // will not continue
}
next(); // call respective remote method
});
警告显示
(节点:17177)UnhandledPromiseRejectionWarning:错误:回调已被调用。
(node:17177) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝编号:1)
我也尝试过查看文档,但那里没有帮助。
【问题讨论】:
标签: javascript node.js express loopback