i tried canceling pending http request using subscription.unsubsribe like this:
getAgentList(pageNumber: number, filter: string): any {
let requestUrl: s
Looks like the problem is that the subscription is done after the next. Think of it like addEventListener on the DOM. You receive events after you add the listener, or in this case, the subscriber.
getAgentList(pageNumber: number, filter: string): any {
let requestUrl: string = ‘...’
// assuming this.$filter is a Subject
// subscription to it first
this.$filter.switchMap(requestUrl => 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) => {
console.log('handling error')
}
);
// then call next()
this.$filter.next(requestUrl)
}
That’s probably it. Unless, this.$filter is a BehaviorSubject or ReplaySubject, then we may have a different problem.