【发布时间】:2023-03-19 00:01:02
【问题描述】:
我尝试使用 subscription.unsubsribe 取消挂起的 http 请求,如下所示:
getAgentList(pageNumber: number, filter: string): any {
let requestUrl: string = 'api/service/agents_search?ACCT='
+this.accountId;
if ( this.subscription ) {
this.subscription.unsubscribe();
}
this.subscription = this.backEndCommService.getData(requestUrl)
.subscribe(
(res: any) => {
let serverResponse: ServerResponse = new
ServerResponse(this.accountId, pageNumber, res.search_results,
res.resultRows, res.pageSize, res.resultPages)
this._agentListData.next(serverResponse);
},
(err: HttpErrorResponse) => {
let errorMessage: string;
if (err instanceof TypeError) {
errorMessage = 'Script error: ' + err.message;
}
console.log(errorMessage);
});
}
我想知道如何将 switchMap 应用到此代码以终止对 URL 的挂起请求(例如,当第一次搜索花费很长时间并且输入第二个并且我想关闭第一个时,自动完成搜索输入。) 谢谢
【问题讨论】:
标签: angular rxjs httprequest observable switchmap