我正在开发一个Angular应用程序。
我有一个带有以下帖子功能的AppController:
public post(url: string, reqData: Object, options: RequestOptionsArgs,successHandler?:any): Observable<any> {
let observable: Observable<any> = this.restClient.post(url, reqData, options)
if(this.successCallback){
observable.subscribe(this.successCallback);
}
return observable;
}
该函数有一个可选的successHandler回调参数。如果可用,则observable订阅它。
我有一个服务类,它具有以下功能,该功能使用AppController中的post函数。
private postForm(reqdata: any): Observable<CustomerProfile> {
return this.appController.post(URL, reqdata,this.successCallback)
.map((response) => {
let custProfile = new CustomerProfile();
custProfile = response;
return custProfile;
}
}
我的问题是如果successHandler可用,则忽略服务中的map()
运算符,并且observable订阅successHandler。
是否有更好的解决此问题的方法,即使我提供回调,map()
运算符也会被执行。