【问题标题】:Subscribe to next() call订阅 next() 调用
【发布时间】:2019-06-17 21:00:16
【问题描述】:

并且许多 Oberservers 正在听它并做一些事情。我想做的是等待观察者完成,然后做其他事情。

mySubject.next();

然后等待观察者的回调或任何事情。

【问题讨论】:

  • 查看异步等待

标签: html angular typescript rxjs observable


【解决方案1】:

你可以像这样订阅你的主题;

mySubject.subscribe(data => {    
  //You can do what you want here    
})

【讨论】:

    【解决方案2】:

    我想做的是等待观察者完成然后做 别的东西

    为此,有一个完整的回调。如果您的主题将调用mySubject.complete(),则会调用完整回调:

    mySubject.subscribe(null,null, () => { /* complete */ })
    

    【讨论】:

    • 或者不传null,null,可以传一个对象mySubject.subscribe({ complete: () => { /* complete */ } })
    【解决方案3】:

    据我了解,您想发出一些东西,然后等待所有订阅者完成后再做其他事情。

    根据Rxjs subject definition,Subject 就像一个事件发射器:它是单向的。

    恐怕你想在这里实现的,用这种方法根本不可能。

    您应该查看ngrx-store,它使您能够调度动作和效果。

    【讨论】:

      猜你喜欢
      • 2020-06-17
      • 2021-07-30
      • 2018-12-21
      • 2022-07-22
      • 2017-07-14
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多