【发布时间】:2018-01-19 00:15:20
【问题描述】:
我有一个具有类型功能的服务
getSummary(id: string, universe: string): Observable<INTsummary[]>
当我调用它时,我只想要INTsummary[] 中的第一项,所以我尝试使用 rxjs first 运算符来执行此操作:
loadQuickSummary(){
var obj = this.myService.getSummary(this.user.id, this.user.universe).first();
console.log("getting quick summary");
obj.subscribe(r => {
console.log(`first value ${JSON.stringify(r)}`)
})
}
通过阅读文档和 stackoverflow,这应该返回一个对象,但我得到了一个 INTsummary's 数组。
我怎样才能只取回INTsummary[] 数组中的第一个对象?
【问题讨论】:
-
Observable.first为您提供 stream 值的第一个值,而不是作为这些值之一的 array 的第一个值。您需要在Observable.map中执行此操作,其中您有该数组 ->this.myService.getSummary(...).map(arr => arr[0])...。
标签: javascript arrays angular ionic2 rxjs