订阅回调函数

时间:2017-06-05 23:16:21

标签: angular callback rxjs observable

我正在开发一个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()运算符也会被执行。

0 个答案:

没有答案