【发布时间】:2019-05-11 03:58:01
【问题描述】:
我有以下代码将“未定义”打印到控制台
let f:Observable<Asset[]>;
f= this.http.get<HttpResponse<Asset[]>>(this.baseApiUrl+"Asset",this.httpNormalOptions).pipe(map(
response=>{
return response.body;
}
))
f.subscribe(m=>{console.log(m)});
return f;
但是我之前的代码运行良好
return this.http.get<Asset[]>(this.baseApiUrl+"Asset",this.httpNormalOptions).pipe(map(
response=>{
return response;
}
))
两者的标题完全相同,如下所示
this.httpNormalOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + this.auth_token,
observe:'response'
})
}
为什么其中一个返回“未定义”,而另一个返回填充数组?我已经检查了 web 服务端,并且在这两种情况下都返回了一个填充的数组。
【问题讨论】:
-
响应是一个资产数组。不是 HttpClientResponse
-
是的,但在第一个示例中,我返回了作为 Asset[] 的 response.body 对象,但 response.body 未定义...
-
你不需要使用body属性。
-
啊。那么如何将其转换为 Observable
标签: angular7