Typeerror:__ WWEPACK_IMPORTED_MODULE_2_rxjs_observable __。observable.throw不是函数 [英] Typeerror: __WEBPACK_IMPORTED_MODULE_2_rxjs_observable__.observable.throw is not a function
本文介绍了Typeerror:__ WWEPACK_IMPORTED_MODULE_2_rxjs_observable __。observable.throw不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从'@ angular / core'导入{Injectable};来自'@ angular / http'的
import {Http,Response,RequestOptions,Headers};来自'rxjs / Observable'的
import {Observable};
import'rxjs / add / observable';
import'rxjs / add / operator / catch';
import'rxjs / add / operator / map';来自'../Modals/Employee'的
import {Employee};
从'../Modals/Employee'导入{Groups};来自'../Modals/Employee'的
import {DesignationList};来自'../Modals/Employee'的
import {DomainList};来自'../Modals/Employee'的
import {REmployeeList};
@Injectable()
导出类DRService {
private employeeUrl ='http:// localhost:7020 / api / employee / GetEmployee'; // Web API的URL
private ListUrl ='http:// localhost:7020 / api / employee / GetList /';
private SaveUrl ='http:// localhost:7020 / api / employee / Post';
构造函数(public http:Http){}
SaveEmployee(employee:Employee):Observable< Employee> {
让bodyString = JSON.stringify(employee); // Stringify payload
let headers = new Headers({'Content-Type':'application / json'}); // ...将内容类型设置为JSON
let options = new RequestOptions({headers:headers}); //创建一个请求选项
alert(bodyString);
返回this.http.post(this.SaveUrl,bodyString,options)// ...使用post request
.map((res:Response)=> res.json())// ...并在响应返回数据时调用.json()
.catch((error:any)=> Observable.throw(error.json()。error ||'Server error')); //... errors如果有
}
private extractData(res:Response){
let body = res.json();
返回正文|| {};
}
private handleError(错误:响应|任何){
//在真实世界的应用程序中,您可以使用远程日志记录基础结构
let errMsg:string;
if(error instanceof Response){
const body = error.json()|| ;
const err = body.error || JSON.stringify(主体);
errMsg =`$ {error.status} - $ {error.statusText || ''} $ {err}`;
} else {
errMsg = error.message? error.message:error.toString();
}
console.error(errMsg);
返回Observable.throw(errMsg);
}
}
目前安装的套餐包括:
@ angular / cli:1.0.4
节点:6.10.3
os:win 32 ia32
我尝试了什么:
我还尝试通过将以下代码更改为:来自'rxjs / Observable'的
import {Observable};从'rxjs / Rx'导入{Observable};
解决方案
{error.status} -
{error.statusText || }
{ERR}`;
} else {
errMsg = error.message? error.message:error.toString();
}
console.error(errMsg);
返回Observable.throw(errMsg);
}
}
目前安装的套餐包括:
@ angular / cli:1.0.4
节点:6.10.3
os:win 32 ia32
我尝试了什么:
我还尝试通过将以下代码更改为:来自'rxjs / Observable'的
import {Observable};从'rxjs / Rx'导入{Observable};
import { Injectable } from '@angular/core'; import { Http, Response,RequestOptions ,Headers} from '@angular/http'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/map'; import { Employee } from '../Modals/Employee'; import { Groups } from '../Modals/Employee'; import { DesignationList } from '../Modals/Employee'; import { DomainList} from '../Modals/Employee'; import { REmployeeList } from '../Modals/Employee'; @Injectable() export class DRService{ private employeeUrl = 'http://localhost:7020/api/employee/GetEmployee'; // URL to web API private ListUrl = 'http://localhost:7020/api/employee/GetList/'; private SaveUrl = 'http://localhost:7020/api/employee/Post'; constructor( public http: Http) { } SaveEmployee(employee:Employee): Observable<Employee> { let bodyString = JSON.stringify(employee); // Stringify payload let headers = new Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON let options = new RequestOptions({ headers: headers }); // Create a request option alert(bodyString); return this.http.post(this.SaveUrl, bodyString, options) // ...using post request .map((res:Response) => res.json()) // ...and calling .json() on the response to return data .catch((error:any) => Observable.throw(error.json().error || 'Server error')); //...errors if any } private extractData(res: Response) { let body = res.json(); return body || { }; } private handleError (error: Response | any) { // In a real world app, you might use a remote logging infrastructure let errMsg: string; if (error instanceof Response) { const body = error.json() || ''; const err = body.error || JSON.stringify(body); errMsg = `${error.status} - ${error.statusText || ''} ${err}`; } else { errMsg = error.message ? error.message : error.toString(); } console.error(errMsg); return Observable.throw(errMsg); } }
Current installed packages are:
@angular/cli: 1.0.4
node: 6.10.3
os: win 32 ia32
What I have tried:
I have also tried run by changing the following code as: import { Observable } from 'rxjs/Observable'; to import {Observable} from 'rxjs/Rx';
解决方案
{error.status} -
{error.statusText || ''}
{err}`; } else { errMsg = error.message ? error.message : error.toString(); } console.error(errMsg); return Observable.throw(errMsg); } }
Current installed packages are:
@angular/cli: 1.0.4
node: 6.10.3
os: win 32 ia32
What I have tried:
I have also tried run by changing the following code as: import { Observable } from 'rxjs/Observable'; to import {Observable} from 'rxjs/Rx';
这篇关于Typeerror:__ WWEPACK_IMPORTED_MODULE_2_rxjs_observable __。observable.throw不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文