frumpromise n'existe pas sur type Observable
dans L'angle 2 en utilisant rxjs j'essayais de convertir une promesse en Observable. Comme beaucoup de guides en ligne ont montré que j'ai utilisé fromPromise
Observable
. Ce qui déclenche une erreur:
Property 'fromPromise' does not exist on type 'typeof Observable'.
Observables a été importé de la forme:
import { Observable } from "rxjs/Observable";
j'essaie de l'importer fromPromise
comme les autres opérateurs entraîne une erreur:
import 'rxjs/add/operator/fromPromise';
même si j'efface l'erreur typographique, il en résulte une erreur:
(<any>Observable).fromPromise
Erreur:
Uncaught (in promise): TypeError: __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__.Observable.fromPromise is not a function
un Peu problème similaire a été signalé sur rxjs repo ici mais il n'y a pas non plus de solution.
1 réponses
mise à jour:
rxjs
6.0.0-bêta.3, les opérateurs et les créateurs observables devraient être importés de rxjs
. En outre, fromPromise
ne fait plus partie de L'API publique et est enveloppé dans le from
méthode.
TL;DR;
UPDATE
Pour rxjs 6.0.0 utilisation:
import { from } from 'rxjs';
var observableFromPromise = from(promiseSrc);
mise à jour:
après la sortie du pipeable les opérateursrxjs
5.5.x, l'approche patch du singe est fortement déconseillée. Envisagez d'utiliser l'option de la méthode statique.
réponse originale
rxjs
5.4.x,fromPromise
peut être utilisé comme une méthode statique ou peut être inclus dans l' Observable
prototype.
Pour la première, vous pouvez effectuer les opérations suivantes:
import { fromPromise } from 'rxjs/observable/fromPromise';
var observableFromPromise = fromPromise(promiseSrc);
Plus d'info sur cette approche ici
pour faire le second, vous besoin de modifier votre déclaration d'importation:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
var observableFromPromise = Observable.fromPromise(promiseSrc);
Plus d'info sur cette approche ici
Personnellement, je recommanderais la première, considérant que la 2ème approche est fondamentalement la 1ère, avec la différence que l' Observable
Le prototype est changé.