Angular RxJS Наблюдаемая ошибка загрузки - PullRequest
0 голосов
/ 26 мая 2018

Я объявил наблюдаемую переменную

workOrders: Observable<IWorkOrders[]>;

И затем я загружаю эту наблюдаемую таким образом.

  this.bs.getWorkOrders()
  .pipe(map(data:IWorkOrders[]) => this.workOrders = data)),
    .subscribe((data: IWorkOrders[]) =>
      // this.workOrders = data;
      this.woSubject.next(data),
  );

но когда я это делаю, я вижу красный волнистый участок под строкой данных this.workOrders =.А также, когда я нахожу указатель мыши, он говорит, что [ts] Тип 'IWorkOrders []' нельзя назначить типу 'Наблюдаемый' enter image description here

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

workOrders=this.bs.getWorkOrders(); будет работать

workOrders имеет тип Observable.data относится к типу IWorkOrders[] Так как это два разных типа, вы получаете ошибку.Вы не можете назначить IWorkOrders[] to Observable.

0 голосов
/ 26 мая 2018

Поскольку в сообщении об ошибке указано - workOrders имеет тип Observable<IWorkOrders[]>, а переменная data имеет тип IWorkOrders[].В вашем случае вы пытаетесь присвоить два несовместимых типа друг другу.В функции map вы получаете значение Observable, которое имеет тип IWorkOrders[].

Что вам нужно сделать, это объявить workOrders как IWorkOrders[] вместоObservable этого типа:

workOrders: IWorkOrders[];

PS у вас есть дополнительная запятая .pipe(map(data:IWorkOrders[]) => this.workOrders = data)), <--

...