Условия закольцованной гонки при передаче данных между хуками
Я хочу передать некоторые данные из ловушки 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 предназначен для обмена данными между хуками (например, "до сохранения" и "после сохранения").