2016-02-15 23 views
19

Sto tentando di restituire un Observable da un servizio con dati fittizi.Creazione di un osservabile per dati simulati in Angular 2

Sto tornando da questo mio servizio:

return Observable.of(new Object()).map(MOCKACCOUNT =>JSON.stringify(MOCKACCOUNT)); 

ottengo un errore

Observable_1.Observable.of non è una funzione.

Sono mancante di includere? Sto importando

import {Observable} from "rxjs/Observable"; 

Nota: stavo tornando una promessa falsa prima ma in base alla mia comprensione non sarei in grado di interpolare il valore. Per esempio {{returnFromServiceStoredInExportedClass.name}}

+0

Ho un campione in cui metto un Osservabile qui: http://www.syntaxsuccess.com/viewarticle/angular-2.0-unit-testing – TGH

risposta

23

Sembra

import {Observable} from "rxjs/Observable"; 

dovrebbe essere

import {Observable} from "rxjs/Rx"; 

Vedi anche Angular2 RxJS getting 'Observable_1.Observable.fromEvent is not a function' error

+0

Grazie per il vostro aiuto. – Chris

+4

Interessante. Qual è la differenza tra "Osservabile" da "rxjs/Osservabile" e "Osservabile" da "rxjs/Rx"? –

+0

'import {Observable} da 'rxjs/Observable'' funzionerà solo come interfaccia. 'import {Observable} da" rxjs/Rx "' è la funzione stessa insieme a tutti gli operatori. –

5

Usa

return Observable.of(new Object()).mapTo(MOCKDATA);` 

L'istruzione import è bene.

import {Observable} from "rxjs/Observable"; 

anche bisogno di importare il file ts per MOCKDATA

import {MOCKDATA} from "../path_to_mockdata"; 
0

Dovrebbe essere

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/observable/of'; 

perché

import {Observable} from "rxjs/Rx"; 

importerà tutti gli altri operatori che non si ha bisogno di