Угловое обновление NG RX с 5.X до 6.0 с ошибкой компиляции в combindatest - PullRequest
0 голосов
/ 14 мая 2019

Я использую в своем коде comblatest и передаю более 6 параметров.Мы только что обновились с 5.x до 6.0, и это дает ошибку компиляции.Вот пример кода для него.

https://stackblitz.com/edit/typescript-8znsia?file=index.ts

Ошибка:

Аргумент типа 'OperatorFunction <[строка, число, число, строка, число, число, число], строка> 'не может быть назначена параметру типа' OperatorFunction '.Тип «[строка, число, число, строка, число, число, число]» нельзя назначить типу «строка []».Типы свойств «поп» несовместимы.Тип '() => строка |число "нельзя назначить типу" () => строка ".Тип 'строка |число «не присваивается типу« строка ».Тип «число» нельзя назначить типу «строка»


Редактировать

Это не работает для оператора.

https://stackblitz.com/edit/typescript-krkep6?file=index.ts

New error: Argument of type 'OperatorFunction<string, {}>' is not assignable to parameter of type 'OperatorFunction<ActionName, {}>'.
  Type 'string' is not assignable to type 'ActionName'

Ответы [ 3 ]

1 голос
/ 15 мая 2019

Эта проблема, похоже, исчезла с rxjs 6.2.1, поэтому обновите ее, если можете.

В противном случае добавление <any> к combineLatest должно устранить ошибку.

combineLatest<any>(..)

См .: https://github.com/ReactiveX/rxjs/issues/3601#issuecomment-384711601

1 голос
/ 14 мая 2019

Ваши импортные заявления должны быть скорректированы. Вы читали руководство по обновлению?

https://github.com/ReactiveX/rxjs/blob/master/docs_app/content/guide/v6/migration.md

Combinelatest должен быть импортирован из 'rxjs', а карта должна быть импортирована из 'rxjs / operator'

0 голосов
/ 23 мая 2019

объединитьПоследний изменен с конвейерного оператора на функцию в rxjs 6

теперь вы импортируете его с верхнего уровня

import { combineLatest } from 'rxjs';

и вы передаете наблюдаемое в функцию

combineLatest(a, b);

вместо старого

a.pipe(combineLatest(b));
...