在 jQuery ajax 中有一种中止 ajax 查询的方法:
var xhr = $.ajax({ ... });
当用户想要中止操作或导航到单页应用程序中的其他页面时,我可以调用
xhr.abort();
在 angular2-http api 中,我找不到任何中止查询的可能性,因为它使用 rxjs。
有没有办法中止angular2中的ajax查询?
在 jQuery ajax 中有一种中止 ajax 查询的方法:
var xhr = $.ajax({ ... });
当用户想要中止操作或导航到单页应用程序中的其他页面时,我可以调用
xhr.abort();
在 angular2-http api 中,我找不到任何中止查询的可能性,因为它使用 rxjs。
有没有办法中止angular2中的ajax查询?
当您订阅时,您会获得一个订阅,您可以使用它来取消订阅
this.httpSubscription = this.http.get(...).subscribe(...);
...
this.httpSubscription.unsubscribe();
对于一个简单的解决方案,您可以使用以下方法,但您也可以使用 .switchMap rxjs 方法..
if ( this.subscription ) {
this.subscription.unsubscribe();
}
this.subscription = this.http.get( 'awesomeApi' )
.subscribe((res)=> {
// your awesome code..
})