在钩子之间传递数据时的环回竞争条件

时间:2016-12-20 19:21:38

标签: loopbackjs strongloop

我想通过

将一些数据从beforeSave挂钩传递给afterSave挂钩
  Model.observe('before save', function(ctx, next) {

    if (ctx.currentInstance) {
       // some logic
       ctx.hookState.data = 'foo';
    }

    next();
  });

  Model.observe('after save', function(ctx, next) {
   if (ctx.hookState.data) {
     // use data
   }
   next();
  });

我是否要担心比赛状况?例如。在'afterSave'运行之前,另一个请求会覆盖ctx.hookState.data。上下文完全分开?

1 个答案:

答案 0 :(得分:0)

您可以使用ctx.hookState。

  

ctx.hookState用于在钩子之间共享数据(例如"在保存之前"   和"保存")。