RxJS ждут, пока наблюдаемое завершится полностью - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь завершить Observable полностью (то есть вызывается функция Complete) до выполнения следующей Observable. Я пробовал много разных вещей, но самое близкое, что я получил, это:

function() {
  observableA.subscribe(
    (value) => { },
    (err) => { },
    () => {
      createObservableB();
    }
  );
  return observableB; // ????
}

Но мне нужно вернуть результат из createObservableB () из этой функции. Опять же, createObservableB не может быть вызван до тех пор, пока каждое отдельное значение в observableA не будет полностью повторено.

Спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Более «чистое» решение будет использовать просто concat, потому что оно подписывается на Observables по одному только после завершения предыдущего:

import { concat } from 'rxjs';

concat(observableA, observableB)
  .subscribe(...)

Если вы хотите игнорировать все значения, поступающие из observableA, вы можете использовать ignoreElements() при передаче его в concat (observableA.pipe(ignoreElements())).

0 голосов
/ 31 октября 2018

можно попробовать last, оператор

obsA.pipe(last(),mergeMap(()=>obsB)).subscribe()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...