webentwicklung-frage-antwort-db.com.de

Beobachtbar vonArray

Ich habe derzeit ein Problem mit Angular2 und Observable object.

Ich habe eine Komponente, die einen Dienst anruft: eine echte, die mit einer API und einer gefälschten verbunden ist.

Der mit der API verknüpfte Dienst funktioniert gut, aber wenn ich das gefälschte verwende, möchte ich ein Array aus einem Observable-Objekt zurückgeben. Ich habe jedoch diesen Fehler:

Hier ist mein Code:

Komponente:

this._raceService.list().subscribe(newRaces => { 

  this.races = newRaces;
}); 

Echter Service: 

list(){ return this._http.get('http://dev.backend.com/api.php', options).map(res => res.json()); }

Gefälschter Service:

list() { return Observable.fromArray([{ name: 'London' }]); }

Kannst du mir bitte helfen?

Prost

11
intuix

sollte das sein ... 

Rx.Observable.from(yourarray)

fromArray scheint veraltet zu sein

22
ade jones

Observable.fromArray() wurde in RxJS Version 5 entfernt. Verwenden Sie from().

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
...
Observable.from([1, 2, 3, 4]);
11
Organic

Die Antwort muss für RxJS 6 aktualisiert werden, jetzt

import {from} from 'rxjs';

const observable = from([ { a: 1, b: 2 } ]);
6
Jaime Cham

Ich hatte das gleiche Problem, nachdem ich in meinem Code etwas recherchiert hatte ...

Ich habe importiert:

import {Observable} from "rxjs/Observable";

Anstatt:

import {Observable} from "rxjs/Rx";

Ich hoffe es kann jemand anderem helfen.

3
vincent_chapron

Ich hatte das gleiche Problem und musste diese Importanweisung in meiner Komponente hinzufügen:

import 'rxjs/add/observable/fromArray';

Ich habe den Import zum Hinzufügen durch Suchen nach fromArray in der Rx.js-Datei gefunden, auf die ich verwiesen habe (Vorsicht, da in Ihrem Projekt möglicherweise unterschiedliche Versionen der Datei vorhanden sind):

System.register("rxjs/add/observable/fromArray", ["rxjs/Observable", "rxjs/observable/ArrayObservable"], true, function(require, exports, module) {
  // ...
});
3
Gloopy

Ich hatte das gleiche Problem. Ich glaube, Sie bekommen das vielleicht, weil fromArray nicht mehr empfohlen wird.

importieren Sie rxjs/Observable, um zu verhindern, dass andere nicht benötigte Teile von rxjs importiert werden

import { Observable } from 'rxjs/Observable';

fromArray wurde nicht mehr empfohlen. Verwenden Sie stattdessen

list() { return Observable.from([{ name: 'London' }]); }
3
swoodruff

versuche dies:
import {from} from 'rxjs/observable/from';
...
const promiseSource = from (neues Versprechen (lösen => lösen ('Hallo Welt!'))); https://learnrxjs.io/operators/creation/from.html

0
Flavio Marques