我正在处理一个 Angular 6 项目,在将代码从使用Http
更改为HttpClient
时,我收到以下错误:
当我尝试做:
verifyEmail(email: string, verificationCode: string): Observable<HttpResponse<boolean>> {
return this._http.get<boolean>(`${this.serviceUrl}emailVerification?email=${email}&verification_code=${verificationCode}`, { observe: 'response' }).pipe(
map((response: HttpResponse<boolean>) => {
return resp.status === 204;
}),
catchError(this.handleError));
}
我收到错误
Type Observable<boolean> is not assignable to type Observable<HttpResponse<boolean>>
相反,这:
deleteCollection(collection: Collection): Observable<HttpResponse<boolean>> {
return this._http.delete<boolean>(this.serviceUrl + collection.id, this.requestOptionsResponse).pipe(
map((response: HttpResponse<boolean>) => {
return response.status === 204;
}),
catchError(this.handleError),);
}
报告未出现错误,this.requestOptionsResponse
为
private setRequestOptionsResponse() {
let headers = new HttpHeaders({
'Accept' : 'application/json',
'Content-Type': 'application/json'
});
this.requestOptionsResponse = { headers: headers, observe: 'response', withCredentials: true}
}
无需在类型声明中包含HttpResponse
:
verifyEmail(email: string, verificationCode: string): Observable<boolean> {
...
}