我是 loopback 的新手,我为注册编写了一个函数, 在 beforeRemote 上执行。在这里,我可以访问环回上下文。但是在用户创建后我正在执行另一个函数来使用 afterRemote 发送验证链接,这里loopback context返回null值。
function signup(){
const lbCtx = LoopBackContext.getCurrentContext;
const details = lbctx().get('details');
//here it's working
}
function sendVerificationEmail(){
const lbCtx = LoopBackContext.getCurrentContext;
const details = lbctx().get('details');
//here not working
}
Users.beforeRemote('create', (ctx) => signup(ctx));
Users.afterRemote('create', (ctx) => sendVerificationEmail(ctx));
任何人都可以帮助我实现这一目标。
答案 0 :(得分:0)
在LoopBack中处理当前上下文的方式有a documented issue。
不幸的是,他们用来支持这个名为continuation-local-storage的功能的库似乎并不完全可靠,有时候上下文没有正确传递,所以你得到一个空值。
There's a warning in the docs说明这一点并链接到不同的解决方法,因为还没有统一的解决方案。
注意:我在您的代码中看到的一个问题(尽管可能是拼写错误)是您使用的signup()
方法get()
代替set()
。万一你没有注意到。