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

Error while using body.json() for parsing response from http.get()

尝试使用 body.json() 将数据分配给对象数组,但 returns promise 尝试了此操作。但是浏览器抛出错误告诉我 json() 不是函数。

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

angular httpClient 已经为你做了 .json()

下面的代码片段可能对您有所帮助

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

你实际上可以像这样替换它,也可以将响应分配给接口以严格类型化它。

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