【发布时间】:2017-12-28 04:54:43
【问题描述】:
我正在尝试掌握 Observables,但有时会迷失方向。
假设我们订阅getData异步获取json数据:
this.getData(id)
.subscribe(res => {
console.log(data.items[0])
// more data processing
})
这可行,但在 .subscribe 中处理响应数据看起来并不令人满意。将响应分配给 var 似乎是一种方法:
let data;
this.getData(id)
.subscribe(res => data = res)
console.log(data.items[0])
// more data processing
但在这种情况下,我们会收到错误,因为 var 'data' 没有初始类型。
TypeError:无法读取未定义的属性“项目”
为 json 响应创建接口听起来很愚蠢。我错过了什么?
此外,创建回调函数似乎也是多余的,因为它需要 2 个函数来完成本应是单个函数的工作。
【问题讨论】:
标签: javascript json typescript asynchronous observable