使用 Angular 的 HttpClient 模块并设置请求的 Observable 对象,以便能够取消请求。
在 Angular 应用程序中,如果需要取消发送的 Http 请求,必须使用 HttpClient 模块。下面是一个简单的示例,展示了如何设置请求的 Observable 对象以便取消请求:
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable, Subscription } from 'rxjs';
@Component({
selector: 'app-root',
template: `
`
})
export class AppComponent {
private request$: Observable;
private requestSubscription: Subscription;
constructor(private http: HttpClient) {}
sendRequest() {
this.request$ = this.http.get('https://jsonplaceholder.typicode.com/posts');
this.requestSubscription = this.request$.subscribe(data => {
console.log(data);
});
}
cancelRequest() {
if (this.requestSubscription) {
this.requestSubscription.unsubscribe();
}
}
}
在上述代码中,我们创建了一个名为 request$ 的 Observable 对象,并将其设置为 http.get() 方法返回的对象。我们还创建了一个名为 requestSubscription 的 Subscription 对象,以便能够取消请求。通过订阅 request$ 对象,就可以发出 Http 请求并接收响应。通过取消 requestSubscription 对象,就可以取消发送的请求。