switchMap to switchMapTo - PullRequest
       21

switchMap to switchMapTo

0 голосов
/ 10 июня 2019

В настоящее время у меня есть этот кусок кода

this.save()
  .pipe(switchMap(() => this.unlock()))
  .subscribe(...);

save и unlock реализации

private save(): Observable<void> {
  return new Observable(subscriber => {
    this.xmlService.save(..., () => {
      ...       
      subscriber.next();
      subscriber.complete();
    });
  });
}

private unlock(): Observable<void> {
  return this.httpService.unlock(this.id);
}

Поскольку unlock на самом деле не зависит от значения, которое возвращает save, могу ли я просто использовать switchMapTo?

this.save()
  .pipe(switchMapTo(this.unlock()))
  .subscribe(...);

Или я неправильно понял, как ведет себя вариант *To?

1 Ответ

1 голос
/ 10 июня 2019

switchMapTo идентичен switchMap, за исключением того, что он принимает наблюдаемую функцию вместо функции обратного вызова. Смотрите исходный код:

https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/switchMapTo.ts#L56

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...