[英]Angular2: unable to return a json mapped from an Http response
在我的服务中,我执行http调用,并将响应返回为Observable
doQuery ( query: String ) : Observable<any> {
return this.http.request(queryURL) ;
}
在组件中,我订阅
this.service
.doQuery(this.query)
.subscribe((res: any) => {
console.log ("Res");
console.log(res);
});
这样做确实有效; 我可以在控制台中看到Response
对象的转储
当我想从服务中返回已经映射为json的响应时,我的问题就来了。
我试图做tyhis
return this.http.request(queryURL).map((res: any) => res.json());
但是在运行时,我遇到了一个晦涩的javascript错误(确切地说,这是来自Zone.js的错误)
Error: Permission denied to access property "rejection"
我已经尝试将返回类型从Observable<any>
更改为Observable<any[]>
,就像在书上看到的那样,但是没有成功。
更新 :实际上我解决了将import 'rxjs/Rx';
添加到服务文件中import 'rxjs/Rx';
我究竟做错了什么? 为什么需要此导入? 导入Rxjs的地图运算符不是一种方法吗?
在这种特定情况下,我决定添加导入
import `rxjs/Rx`;
但是在其他99%的情况下,这种情况再次发生在我身上,此错误是由于@NgModule的providers
数组中缺少一项服务的声明引起的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.