Проблема с использованием Observable.combineList из RxJS в Angular - PullRequest
0 голосов
/ 21 ноября 2018

Я хочу использовать функцию typscript для синхронизации Oberservable.

Сначала у меня есть служба, которая возвращает мне Oberservable в качестве возврата.

  public updatePlayers(players: Player[]): Observable<any>{
    return this.http.post(this.REST_URI + "player/updateplayers", players).pipe(
      tap(_tap => console.log("Update Players. " + _tap)),
      catchError(this.handleError)
    )
  }

Чем у меня есть функция, в которой я хочу использовать Observable.combineList для ожидания завершения функции стенда с обновлением.

OnSubmit(){

   let updateAllPlayers = combineLatest(this.restApi.updatePlayers(this.allPlayerTeam1), this.restApi.updatePlayers(this.allPlayerTeam1));
    updateAllPlayers.subscribe((teamxx1, teamxx2) => {
      this.router.navigate(['statsRecordGrid', this.team1.id, this.team2.id]);
    }, (e) => {
      console.error("Players not updated");
    });

}

....
}

Я получаю эту ошибку:

ОШИБКА в Players / Players.component.ts (91,22): ошибка TS2339: Свойство «подписка» не существует для типа «OperatorFunction <{}, [{}, any, any]>'.

Что я не понимаю, потому что, если я также сделаю пример RxJ с таймером, я получу ту же проблему.

1 Ответ

0 голосов
/ 21 ноября 2018

Вы импортировали оператор lettable вместо функции.Обновите импорт combineLatest на:

import { combineLatest } from 'rxjs';
...