2016-02-15 152 views
19

我试图从模拟数据的服务中返回一个Observable。在Angular 2中创建模拟数据的Observable

我从我的服务返回的:

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

我得到一个错误

Observable_1.Observable.of不是一个函数。

我是否缺少一些包括?我进口

import {Observable} from "rxjs/Observable"; 

注:我是返回一个模拟的承诺之前,但根据我的理解,我不会能够插值值。例如{{returnFromServiceStoredInExportedClass.name}}

+0

我有一个样本,我在这里嘲笑一个Observable:http://www.syntaxsuccess.com/viewarticle/angular-2.0-unit-testing – TGH

回答

23

貌似

import {Observable} from "rxjs/Observable"; 

应该

import {Observable} from "rxjs/Rx"; 

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

+0

谢谢你的帮助。 – Chris

+4

有趣。 'rxjs/Observable'中的'Observable'和'rxjs/Rx'中的'Observable'有什么区别? –

+0

'rxjs/Observable''中的import {Observable}只能用作接口。来自“rxjs/Rx”的import {Observable}是函数本身以及所有的操作符。 –

5

请参阅使用

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

import语句是精细。

import {Observable} from "rxjs/Observable"; 

还需要导入的TS文件MOCKDATA

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

应该

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

因为

import {Observable} from "rxjs/Rx"; 

将导入您不要所有其他运营商需要