如何使用 Observable 中的 capture 解决返回错误的问题?
我希望在 catch 内执行一个函数,以在执行 subscribe 之前进行一些验证。
非常感谢您的关注和提前致谢。
错误发生在 -> .catch((e) => {console.log(e)})
import { Injectable } from '@angular/core';
import { Headers, Http, ResponseOptions} from '@angular/http';
import { AuthHttp } from 'angular2-jwt';
import { MEAT_API } from '../app.api';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
@Injectable()
export class CompareNfeService {
constructor(private http: AuthHttp) { }
envirArquivos(order): Observable<any> {
const headers = new Headers();
return this.http.post(`${MEAT_API}compare/arquivo`, order,
new ResponseOptions({headers: headers}))
.map(response => response.json())
.catch( (e) => {console.log(e)} );
}
}
错误
/XXXXXX/application/src/app/compare/service.ts (28,17) 中出错: 类型 '(e: any) => void' 的参数不能赋值给类型 '(err: any, caught: Observable) => ObservableInput<{}>' 的参数。
类型 'void' 不能赋值给类型 'ObservableInput<{}>'。
.catch(e => Observable.never())
。 - John Strickler