Как подписаться и прослушать каналы с перьями клиента? - PullRequest
0 голосов
/ 20 января 2020

Пожалуйста, укажите мне правильный путь. Я использую angular для клиента и получаю свои данные с:

  private getOrders(query: {}) {
    return from(this._feathers.service('orders').find({ query }));
  }

, это прекрасно работает, и я получаю наблюдаемое взамен.

Но я не знаю, как получить сообщения на стороне клиента. Например, шаблон приложения в channel.ts упоминает что-то вроде этого:

  app.service('messages').publish(() => {
    return [
      app.channel(`userIds/${data.createdBy}`),
      app.channel(`emails/${data.recipientEmail}`)
    ];
  });

Ну, как я могу получить данные от клиента для emails/${data.recipientEmail}? Какой синтаксис?

1 Ответ

0 голосов
/ 21 января 2020

На самом деле все довольно просто!

Моя путаница заключалась в том, что у меня был опыт работы с socketio, и я создавал канал для каждой службы, которую я затем обслуживал.

В перьях каналы - это средства отправки данных. Таким образом, каждый сервис может отправлять сообщения на любой канал, и все зависит от того, на какой канал вы подписаны! Что касается размера клиента, у меня была путаница в том, как я могу получить доступ к этим данным, думая, что мне нужны «пользовательские» имя канала и метод. На самом деле это не имеет значения, так как клиенты подписаны на разные каналы, и, в конце концов, данные приходят от службы и метода в этой службе!

Я надеюсь, что это имеет смысл и устраняет путаницу для людей, похожих на меня. , :)

Эта статья проясняет ситуацию: https://blog.feathersjs.com/feathersjs-channel-subscriptions-647c771ca6c8

...