【发布时间】:2017-04-09 18:10:47
【问题描述】:
在我的服务中,我执行一个 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';
我做错了什么?为什么需要这个导入?不就是导入Rxjs的map算子吗?
【问题讨论】:
-
如果您找到了问题的答案,请将您自己的回复与解决方案一起添加以供其他人查找。
标签: javascript json angular observable