使用body.json()解析来自http.get()的响应时出错

问题描述 投票:1回答:3

尝试使用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)
        }
      );
    }
  )
}
javascript angular promise observable httpmodule
3个回答
1
投票

您实际上可以像这样替换它,而且,可以将响应分配给接口以对其进行严格类型化。

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

0
投票

Angular httpClient已经为您执行了.json()


0
投票

下面的代码段可能会帮助您:

getRecipes() {
  this.http.get('https://recipe-book-1be52.firebaseio.com/recipes.json').subscribe(
    (response: Response) => {
      this.recServ.setRecipes(JSON.parse(JSON.stringify(response)));
    }
  )
}
© www.soinside.com 2019 - 2024. All rights reserved.