我正在为我的应用程序使用环回 v3 我的用例是验证请求标头中是否存在某些令牌,如果令牌无效,则以标准格式发送适当的消息。我正在尝试使用 beforeRemote 来做到这一点。
我尝试过的是在令牌无效并且响应通过自定义中间件(使用 express 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)未处理的PromiseRejectionWarning:错误:回调已被调用。
(node:17177) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误要么是因为在没有 catch 块的情况下抛出了异步函数,要么是因为拒绝了一个没有用 .catch() 处理过的承诺。(拒绝编号:1)
我也尝试浏览该文档,但没有帮助。
湖上湖
慕哥6287543
相关分类