在 Angular 8 发布之后,HttpClient 的 get 请求中的 HttpObserve 参数并没有消失。HttpObserve 参数仍然可以在请求中使用以指定要观察的响应类型。
下面是一个示例代码,演示了如何在 Angular 8 中使用 HttpClient 发起 GET 请求并观察不同类型的响应:
import { HttpClient, HttpParams, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
// 在某个服务中注入 HttpClient
constructor(private http: HttpClient) { }
// 发起 GET 请求并观察完整的响应
getCompleteResponse(url: string): Observable {
return this.http.get(url, { observe: 'response' });
}
// 发起 GET 请求并观察响应的 body 部分
getData(url: string): Observable {
return this.http.get(url, { observe: 'body' });
}
// 发起 GET 请求并观察响应的事件流
getEvents(url: string): Observable {
return this.http.get(url, { observe: 'events' });
}
// 发起 GET 请求并观察响应的文本部分
getText(url: string): Observable {
return this.http.get(url, { observe: 'response', responseType: 'text' });
}
上述代码中,使用了不同的观察类型来获取完整的响应、响应的 body 部分、响应的事件流以及响应的文本部分。
请注意,HttpObserve 参数的默认值为 'body',如果不指定该参数,则 HttpClient 默认会观察响应的 body 部分。
希望这可以帮助到你!