如何在 rxjs 中立即中止和 "resolve" 订阅?
how to abort and "resolve" a subscription immediately in rxjs?
rxjs 和 angular2 的新手。如何中止 http 调用和 return observable,这样我就不会在订阅端收到错误消息?当然,如果我在这里 return 一个对象,我们会得到 .searchAlbum(...).subscribe is not a function
public searchAlbum (term:string, queryObject?:any) {
if( this.abortSearches){
queryObject.body = null;
return //what to return here? used to be deferred.resolve(queryObject);
}
...
return this.http.request( new Request( options ) )
.map(res => this.extractData(res, queryObject) )
.catch(this.handleError);
}
据我了解你的情况,你想要 return 一个 Observable,即使 this.abortSearches
是 true
,因此你不想发出任何实际的 HTTP 请求。但是,您有一些其他功能与此方法相关联,因此您希望它始终 return 一个 Observable。
您可以 return Observable.empty()
这是一个 Observable,它不发出任何值,只是发出完成信号。
rxjs 和 angular2 的新手。如何中止 http 调用和 return observable,这样我就不会在订阅端收到错误消息?当然,如果我在这里 return 一个对象,我们会得到 .searchAlbum(...).subscribe is not a function
public searchAlbum (term:string, queryObject?:any) {
if( this.abortSearches){
queryObject.body = null;
return //what to return here? used to be deferred.resolve(queryObject);
}
...
return this.http.request( new Request( options ) )
.map(res => this.extractData(res, queryObject) )
.catch(this.handleError);
}
据我了解你的情况,你想要 return 一个 Observable,即使 this.abortSearches
是 true
,因此你不想发出任何实际的 HTTP 请求。但是,您有一些其他功能与此方法相关联,因此您希望它始终 return 一个 Observable。
您可以 return Observable.empty()
这是一个 Observable,它不发出任何值,只是发出完成信号。