Typeerror:__ WWEPACK_IMPORTED_MODULE_2_rxjs_observable __。observable.throw不是函数 [英] Typeerror: __WEBPACK_IMPORTED_MODULE_2_rxjs_observable__.observable.throw is not a function

查看:169
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆