Observables.ce n'est pas une fonction
Je vais avoir des problème avec l'importation de Observable.of
fonction dans mon projet. Mon Ide, voit tout. Dans mon code j'ai:
import {Observable} from 'rxjs/Observable';
et dans mon code je l'utilise comme ça:
return Observable.of(res);
Des idées?
- La caisse de la dernière docs si vous utilisez rxjs6 sur le bon d'importation et d'utilisation
import { of } from 'rxjs'; return of(res);
github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#import-paths & github.com/ReactiveX/rxjs/blob/master/...
Vous devez vous connecter pour publier un commentaire.
En fait, j'ai importations foiré. Dans la dernière version de RxJS nous pouvons importer comme cela:
operator/
-rxjs/add/operator/of
- au lieu deobservable/
. Oh pinaise.Si quelqu'un a ce problème lors de l'utilisation Angulaire 6/rxjs 6 voir les réponses ici:
Ne pouvait pas utiliser Observables.de dans RxJs 6 et Angulaire 6
En bref, vous devez l'importer comme ceci:
Et puis au lieu de l'appeler
suffit d'utiliser
Bien que cela semble absolument étrange, avec moi c'était important pour capitaliser le " O " dans le chemin d'importation de
import {Observable} from 'rxjs/Observable
. Le message d'erreur avecobservable_1.Observable.of is not a function
reste présent si je peux importer les Observables de larxjs/observable
. Étrange, mais j'espère que cela aide les autres.Mon stupide erreur a été que j'ai oublié d'ajouter
/add
lorsque vous avez besoin d'observables.Était:
Qui visuellement ressemble OK becasue
rxjs/observable/of
fichier, en fait, existe.Devrait être:
Juste pour ajouter,
si vous utilisez beaucoup d'entre eux vous pouvez ensuite importer le tout en utilisant
comme mentionné par @Thierry Templier. Mais je pense que Si vous êtes en utilisant un nombre restreint d'opérateur, alors vous devez importer l'opérateur individuel comme
comme mentionné par @uksz.
Parce que " rxjs/Rx, va importer tous les Rx composants certainement à un rapport coût /performances.
Correctifs ne fonctionnait pas pour moi, pour quelque raison que ce soit, j'ai donc eu recours à cette méthode:
Si vous utilisez Angulaire 6 /7
Et puis au lieu de l'appeler
suffit d'utiliser
Vous pouvez également importer tous les opérateurs de cette façon:
import {Observable} from 'rxjs/Rx';
œuvres. La version 5.4.2Observable_1.Observable.of(...).delay(...).timeout is not a function
. Je n'ai pas utiliséimport 'rxjs/add/operator/timeout'
Cela devrait fonctionner correctement il suffit de l'essayer.
Mis à niveau à partir Angulaire 5 /Rxjs 5 Angulaire 6 /Rxjs 6?
Vous devez modifier vos importations et votre instanciation. Découvrez Damien post de blog
Tl;dr:
Je suis en utilisant Angulaire 5.2 et RxJS 5.5.6
Ce code n'a pas travail:
Code ci-dessous travaillé:
Méthode d'appel:
Je pense qu'ils peuvent déménagé ou changé de() la fonctionnalité dans RxJS 5.5.2
J'ai eu ce problème aujourd'hui. Je suis en utilisant systemjs pour charger les dépendances.
J'ai été chargement de la Rxjs comme ceci:
Au lieu d'utiliser des chemins d'accès utiliser ceci:
Ce petit changement dans la façon de systemjs de chargement de la bibliothèque fixe mon problème.
Angulaire 5+ :
import { Observable } from 'rxjs/Observable';
devrait fonctionner. L'observateur paquet doit correspondre à l'importation ainsiimport { Observer } from 'rxjs/Observer';
si vous êtes à l'aide d'observateurs c'estimport {<something>} from 'rxjs';
fait un énorme importation il est donc préférable de l'éviter.RxJS 6
Lors de la mise à niveau vers la version 6 de la
RxJS
bibliothèque et non à l'aide de larxjs-compat
paquet le code suivantdoit être changé dans
Pour moi (Angulaire 5 & RxJS 5) la saisie semi-automatique d'importation suggéré:
tout doit être (avec toutes statique opérateurs
from
,of
, e.c.t fonctionne bien:montre d'une exigence de rxjs-compat
Je n'avais pas installé sur votre ordinateur. Installé par
et en relançant fixé mon problème.
Dans
rxjs
v6,of
opérateur doit être importé en tant queimport { of } from 'rxjs';
En quelque sorte, même Webstorm fait comme ça
import {of} from 'rxjs/observable/of';
et tout a commencé à travailler