Как я могу добавить элементы действия в подписку после ее активации? - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь создать службу в angular, которая управляет базой данных, проблема в том, что я пытаюсь хранить подписки в классе обслуживания, а не в классе компонента, поэтому они все находятся в одном месте, как и я Понимаете, обратный вызов для подписки должен быть определен при активации подписки. Есть ли способ добавить подписку после ее активации? Я посмотрел на оператор .add (), но, похоже, он работает только при отмене подписки.

EDIT
ниже - лучшая функция, которую я мог придумать; это работает, но это не кажется элегантным или даже лучшей практикой

  test(col, doc, callback) {
    (this[col][doc] as Observable<unknown>) = this.afs
      .collection(col)
      .doc(doc)
      .valueChanges().subscribe(val => {callback(val)})
  }

1 Ответ

1 голос
/ 09 января 2020

Я получил ответ, посмотрев совершенно не связанное видео, на angular, ответ заключается в том, чтобы вообще не подписываться и возвращать наблюдаемое из сервиса, наконец, используйте канал asyn c, чтобы развернуть наблюдаемое

...