Angular2你可以订阅来自同一个json的多个参数吗?

时间:2017-03-29 12:29:43

标签: angular http typescript subscribe

那么可以订阅多个json变量吗?

 this.http.get(this.api_url + "preference")
  .map(response => response.json())
  .subscribe(res => this.limit = res.limit, res => this.sources = res.sources);

在此示例中,sources是一个字符串数组。 如果你这样做,只会设置限制。

我的json:

{   "sources":["examplePage"],
    "limit":5
}

1 个答案:

答案 0 :(得分:2)

您可以使用大括号{}在订阅正文中执行多项操作来定义函数体,然后像这样分配两个变量:

this.http.get(this.api_url + "preference")
    .map(response => response.json())
    .subscribe(res => {
        this.limit = res.limit;
        this.sources = res.sources;
});

另外,在您的问题中写入订阅的方式,当http请求成功时将设置limit,并且在请求失败时设置源。 subscribe(/* success */, /* error */, /* finished */)