Подписаться на следующий () звонок - PullRequest
0 голосов
/ 24 января 2019

и многие Оберсерверы слушают это и что-то делают. Я хочу подождать, пока наблюдатели закончат, а затем сделать что-то еще.

mySubject.next();

А затем дождитесь обратного вызова Наблюдателей или чего-нибудь еще.

Ответы [ 3 ]

0 голосов
/ 24 января 2019

Что я хочу сделать, так это дождаться завершения наблюдателей и затем сделать что-то еще

Для этого существует полный обратный вызов.Если ваш субъект будет звонить mySubject.complete(), будет вызван полный обратный вызов:

mySubject.subscribe(null,null, () => { /* complete */ })
0 голосов
/ 24 января 2019

Как я понимаю, вы хотите что-то испустить, а затем дождаться завершения всех подписчиков, прежде чем делать что-то другое.

Согласно определению субъекта Rxjs , субъект подобен источнику событий: это однонаправленный.

Боюсь, что вы хотите достичь здесь, это невозможно вообще с этим методом.

Вы должны взглянуть на ngrx-store что дает вам возможность отправлять действия и эффекты.

0 голосов
/ 24 января 2019

Вы можете подписаться на свою тему следующим образом;

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