J'ai actuellement un problème avec Angular2 et Observable object.
J'ai un composant qui appelle un service: un vrai lié à un api et un faux.
Le service lié à l'API fonctionne bien, mais lorsque j'utilise le faux, je souhaite renvoyer un objet Array from Observable, mais j'ai l'erreur suivante: "Observable_1.Observable.fromArray n'est pas une fonction"
Voici mon code:
Composant:
this._raceService.list().subscribe(newRaces => {
this.races = newRaces;
});
Service réel:
list(){ return this._http.get('http://dev.backend.com/api.php', options).map(res => res.json()); }
Faux service:
list() { return Observable.fromArray([{ name: 'London' }]); }
Pouvez-vous m'aider s'il vous plaît?
À votre santé
cela devrait-il être ...
Rx.Observable.from(yourarray)
fromArray semble être obsolète
Observable.fromArray()
a été supprimé dans RxJS version 5, utilisez from()
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
...
Observable.from([1, 2, 3, 4]);
La réponse doit être mise à jour pour RxJS 6, elle est maintenant
import {from} from 'rxjs';
const observable = from([ { a: 1, b: 2 } ]);
J'ai eu le même problème, après quelques recherches dans mon code ...
J'ai importé:
import {Observable} from "rxjs/Observable";
Au lieu de:
import {Observable} from "rxjs/Rx";
J'espère que cela peut aider quelqu'un d'autre.
J'ai eu le même problème et j'ai dû ajouter cette déclaration d'importation dans mon composant:
import 'rxjs/add/observable/fromArray';
J'ai trouvé l'importation à ajouter en cherchant fromArray
dans le fichier Rx.js
que je faisais référence (faites attention, il peut y avoir différentes versions du fichier dans votre projet):
System.register("rxjs/add/observable/fromArray", ["rxjs/Observable", "rxjs/observable/ArrayObservable"], true, function(require, exports, module) {
// ...
});
J'ai eu le même problème. Je pense que vous l’obtenez peut-être parce que fromArray est obsolète.
importer rxjs/Observable pour éviter d'importer d'autres parties de rxjs dont vous n'avez pas besoin
import { Observable } from 'rxjs/Observable';
fromArray est obsolète. Utilisez plutôt
list() { return Observable.from([{ name: 'London' }]); }
essaye ça:
import {from} de 'rxjs/observable/from';
...
const promiseSource = from (nouvelle promesse (resol = = resol ('Hello World!')))); https://learnrxjs.io/operators/creation/from.html