Ошибка при использовании body. json () для синтаксического анализа ответа от http.get () - PullRequest
1 голос
/ 28 мая 2020

Пытался использовать body. json () для присвоения данных массиву объектов, но когда он возвращает обещание, попробовал это. Но браузер выдает ошибку, говоря мне, что json () не является функцией.

getRecipes() {
  this.http.get('https://recipe-book-1be52.firebaseio.com/recipes.json').subscribe(
    (response: Response) => {
      response.json().then(
        (data) => {
          this.recServ.setRecipes(data)
        }
      );
    }
  )
}

Ответы [ 3 ]

1 голос
/ 28 мая 2020

Нижеприведенный фрагмент кода может вам помочь

  getRecipes() {
    this.http.get('https://recipe-book-1be52.firebaseio.com/recipes.json').subscribe(
      (response: Response) => {
            this.recServ.setRecipes(JSON.parse(JSON.stringify(response)));
      }
    )}
1 голос
/ 28 мая 2020

Фактически вы можете заменить его вот так. Кроме того, вы можете назначить ответ интерфейсу на его строгий тип.

getRecipes() {
  this.http.get('https://recipe-book-1be52.firebaseio.com/recipes.json').subscribe(
    (response) => this.recServ.setRecipes(response)
  );
}
1 голос
/ 28 мая 2020

angular httpClient уже делает. json () за вас

...