Я пытаюсь создать пользовательское событие в хуке Feathers.В хуке я попробовал следующее:
module.exports = function (options = {}) {
return async context => {
const { app } = context;
const groupsService = app.service('groups');
const groups = await groupsService.find( { query:{ members: context.result.user._id } });
await app.emit('list', groups); // Try 1
await groupsService.emit('list', groups); // Try 2
await context.service.emit('list', groups); // Try3
console.log('====================EMIT====================');
return context;
};
};
Я также добавил событие в сервис:
module.exports = function (app) {
this.events = ['list']; // Try 1
(...)
// Get our initialized service so that we can register hooks
const service = app.service('groups');
service.events = ['list']; // Try 2
service.hooks(hooks);
};
Проблема в том, что событие никогда не генерируется.При отладке я вижу только следующие сообщения в консоли:
debug: before app.service ('groups'). Find ()
debug: after app.service ('группы '). find ()
==================== EMIT ====================
Однако событие никогда не генерируется с помощью Socket.io.В каналах я отправляю каждое событие аутентифицированным пользователям.Я также попытался изменить это всем без успеха.Когда я запускаю Feathers, используя DEBUG=* npm start
, я вижу, что событие никогда не генерируется.Любая идея?Спасибо!