Условия закольцованной гонки при передаче данных между хуками

Я хочу передать некоторые данные из ловушки 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 ответ

Вы можете использовать ctx.hookState.

ctx.hookState предназначен для обмена данными между хуками (например, "до сохранения" и "после сохранения").

Другие вопросы по тегам