2016-02-15 23 views
19

Tôi đang cố gắng trả về một Observable từ một dịch vụ với dữ liệu giả định.Tạo một quan sát cho dữ liệu giả trong Angular 2

Tôi đang trở về từ dịch vụ của tôi:

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

tôi nhận được một lỗi

Observable_1.Observable.of không phải là một hàm.

Tôi có thiếu một số bao gồm không? Tôi đang nhập

import {Observable} from "rxjs/Observable"; 

Lưu ý: Tôi đã trả lại lời hứa giả định trước nhưng dựa trên hiểu biết của mình tôi sẽ không thể nội suy giá trị. Ví dụ {{returnFromServiceStoredInExportedClass.name}}

+0

Tôi có một mẫu nơi tôi thử một Đài quan sát ở đây: http://www.syntaxsuccess.com/viewarticle/angular-2.0-unit-testing – TGH

Trả lời

23

Hình như

import {Observable} from "rxjs/Observable"; 

nên

import {Observable} from "rxjs/Rx"; 

Xem thêm Angular2 RxJS getting 'Observable_1.Observable.fromEvent is not a function' error

+0

Cảm ơn sự giúp đỡ của bạn. – Chris

+4

Thú vị. Sự khác biệt giữa 'Observable' từ' rxjs/Observable' và 'Observable' từ' rxjs/Rx' là gì? –

+0

'nhập {Observable} từ 'rxjs/Observable'' sẽ chỉ hoạt động như giao diện. 'import {Observable} từ" rxjs/Rx "' là chính hàm đó cùng với tất cả các toán tử. –

5

Sử dụng

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

Những tuyên bố nhập khẩu được khỏe.

import {Observable} from "rxjs/Observable"; 

Cũng cần phải nhập khẩu các tập tin ts cho MOCKDATA

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

Nên

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

import {Observable} from "rxjs/Rx"; 

sẽ nhập khẩu tất cả các nhà khai thác khác mà bạn không cần

Các vấn đề liên quan