Обновите rxjs 6: this._subscribe не является функцией в PromiseObservable.Observable.subscribe - PullRequest
0 голосов
/ 28 мая 2018

После обновления: Angular "5.2.0" -> "6.0.2" и rxjs ":" ^ 5.2.0 ", ->" rxjs ":" ^ 6.0 "и" rxjs-compat ":" ^ 6.2.0 ",

Я нашел эту ошибку в браузере:

TypeError: this._subscribe is not a function
at PromiseObservable.Observable.subscribe (Observable.js:161)
at eval (subscribeTo.js:21)

Затем я установил: npm i -g rxjs-tslint и запустите rxjs-5-to-6-migrate -p path-to-tsconfig.ts все пути обновлены, но в браузере по-прежнему ошибка.

1 Ответ

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

Код должен быть обновлен для работы с rxjs6.

Вот причина сбоя PromiseObservable:

Все наблюдаемые классы (https://github.com/ReactiveX/rxjs/tree/5.5.8/src/observable) былиудалено из v6, в пользу существующих или новых операторов, которые выполняют те же операции, что и методы класса.

Например, ArrayObservable.create (myArray) можно заменить на from (myArray) или новый оператор fromArray().

В нашем случае: new PromiseObservable (xml2js (responseXML.text ()) должен быть заменен на (xml2js (responseXML.text ());

-> flatMap (...) заменяется на:
.pipe (mergeMap (...)

Еще один пример, который я мог найти в своем коде, это:

Observable.of () от of ()

Для получения дополнительной информации, пожалуйста, проверьте следующий документ: https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#import-paths

...