Angular2 вы можете подписаться на более чем один параметр из того же JSON?

Так можно ли подписаться более чем на одну переменную json?

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

В этом примере source является массивом строк. Если вы сделаете это так, будет установлен только лимит.

мой JSON:

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

1 ответ

Вы можете сделать несколько операций в теле подписки с помощью фигурных скобок {} определить тело функции, а затем назначить две переменные следующим образом:

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

Кроме того, как подписаться написано в вашем вопросе limit будет установлен при успешном выполнении запроса http, а источники будут установлены при сбое запроса. subscribe(/* success */, /* error */, /* finished */)

Другие вопросы по тегам