Почему я получаю mergeMapTo не является функцией при использовании rxjs? - PullRequest
2 голосов
/ 21 июня 2019

Я недавно обновил приложение с Angular 5 до Angular 8 и изменил импорт rxjs, чтобы он соответствовал новой версии rxjs, которая сейчас называется rxjs 6.

У меня есть следующий оператор импорта:

import { map, mergeMap, startWith, mergeMapTo } from 'rxjs/operators';

Я использую его внутри компонента:

public myObservable: any;

 myMethod() {

    this.myObservable = timer(1, 1000);
        this.myObservable
        .mergeMapTo(this.myService.loadData(this.myId))
        .subscribe((data) => {
                this.myData = data;                
            }, (errRes)=>{
            console.log(errRes);
        });
  }

1 Ответ

2 голосов
/ 21 июня 2019

Вам нужно будет использовать новый синтаксис RXJS, заключив эти операторы в pipe()
, например, так:

public myObservable: any;

     myMethod() {

        this.myTimer = timer(1, 1000);
            this.myObservable
            .pipe(mergeMapTo(this.myService.loadData(this.myId)))
            .subscribe((data) => {
                    this.myData = data;                
                }, (errRes)=>{
                console.log(errRes);
            });
      }

Подробнее см. В этой статье:
https://www.academind.com/learn/javascript/rxjs-6-what-changed/

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