0

在 jQuery ajax 中有一种中止 ajax 查询的方法:

var xhr = $.ajax({ ... });

当用户想要中止操作或导航到单页应用程序中的其他页面时,我可以调用

xhr.abort();

在 angular2-http api 中,我找不到任何中止查询的可能性,因为它使用 rxjs。

有没有办法中止angular2中的ajax查询?

4

2 回答 2

4

当您订阅时,您会获得一个订阅,您可以使用它来取消订阅

this.httpSubscription = this.http.get(...).subscribe(...);
...
this.httpSubscription.unsubscribe();
于 2016-03-21T05:41:08.863 回答
1

对于一个简单的解决方案,您可以使用以下方法,但您也可以使用 .switchMap rxjs 方法..

if ( this.subscription ) {
   this.subscription.unsubscribe();
}
this.subscription = this.http.get( 'awesomeApi' )
 .subscribe((res)=> {
  // your awesome code..
})
于 2016-10-20T08:54:41.840 回答