RXJS和Angular:获取数组中的许多元素

时间:2017-09-11 23:03:55

标签: angular typescript rxjs

我正试图绕着RXJS。

我通过http请求获取了一系列内容。

但是我很难接受这些物品。

这是我的方法。

getThingsById(ID: number): Observable<IThing[]> {
return this._http.get(this.URL + ID + '/things)
  .map((response: Response) => <IThing[]>response.json())
  .take(20);
}

当我尝试采取其中的20项时,我得到了所有这些。

我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

与Http一起使用时,Observable似乎不像所描述的那样工作。使用Http,从服务器返回 ONE 响应。 ONE响应具有整套请求的数据。

因此,Observable包含来自ONE响应的整套请求数据。

答案 1 :(得分:0)

尝试Array.slice()方法:

getThingsById(ID: number): Observable<IThing[]> {
  return this._http.get(`${this.URL}${ID}/things`)
    .map((response: Response) => <IThing[]>response.json().slice(0, 20));
}