我尝试从我的json文件中获取数据
ngOnInit() {
this.http.get('assets/json/buildings.json', { responseType: 'text'})
.map(response => response)
.subscribe(result => this.data = result);
console.log(this.data);
}
但是我得到了undefined
...请帮助我并解释为什么我没有得到我的数据。
答案 0 :(得分:3)
您正在获取未定义,因为您的调用日志立即生效,但设置“data”的响应是异步的,因此在api返回值之前它不会被设置。
如果你这样做:
this.http.get('assets/json/buildings.json', { responseType: 'text'})
.map(response => response)
.subscribe(result => {
this.data = result;
console.log(this.data);
});
你会看到这个值,因为现在你等到它被异步提取后才会尝试记录它。
答案 1 :(得分:0)
如果您只是返回响应
,为什么还要使用map函数?this.http.get('assets/json/buildings.json', { responseType: 'text'})
.subscribe(result => {
this.data = result;
console.log(this.data);
});