2016-10-20 124 views
0

当我在方法的任何地方或其他地方使用'new Observable()'时,我的Web应用程序会中断(不会加载)。Angular 2 RxJS Observable not loading

Angular version 2.1.0 
RxJs 5.0.0-beta.12 

这些都是我在的.ts文件导入:

import { Injectable } from '@angular/core'; 
import { DSUnit } from '../model/dsunit'; 
import { Headers, Http, Response } from '@angular/http'; 
import 'rxjs/add/operator/catch'; 
import 'rxjs/add/operator/map'; 
import 'rxjs/add/observable/throw'; 
import 'rxjs/Rx'; 
import { DSCategory } from './../model/dscategory'; 
import { Observable } from 'rxjs'; 

当我有这样一段代码它打破:

private handleError(error: any) : Observable<any> { 
    let errMsg = "argh"; 
    return new Observable(); // <-- "offending" code 
} 

与此错误的Chrome控制台上:

(SystemJS) XHR error (404 Not Found) loading http://localhost:3000/node_modules/rxjs(…) 

而当我删除关闭结束行,有这个:没有错误

private handleError(error: any) : Observable<any> { 
    let errMsg = "argh"; 
    return null; // <-- "works" 
} 

我的web应用程序的负载。当然它的时候,“catch'语句试图处理错误,但一旦我得到过去的,将工作分解与

"new Observable()" 

任何想法,任何人?

+0

'进口{可观察}从 'rxjs /接收';'这抓住了我出来的以及... –

+0

有时你不能信任你的IDE当你使用自动导入功能.... – OddBeck

回答

0

该死的...... Visual Studio代码中的“自动导入”已经搞乱了我的导入。

当我输入 '{可观察}' 它不应该是

import {Observable} from 'rxjs' 

应该

import {Observable} from 'rxjs/Rx' 
2

你可以试试这个:因主叫

Observable.of(errMsg); 

Observable.throw(errMsg); 

+0

它不起作用。事情是,任何使用Observable将创建一个Observable对象将会中断。 我最初尝试Observable.throw但打破了,所以我试图返回一个简单的Observable对象,它也打破。当我尝试使用Observable.of()...时也是如此 – OddBeck