【发布时间】:2020-05-28 18:04:09
【问题描述】:
尝试使用 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)
}
);
}
)
}
【问题讨论】:
-
json()在HttpClient的新版本中不是必需的。你也没有承诺在这里打电话给then()。你可以直接做(response: Response) => { this.recServ.setRecipes(response) } -
“响应”类型的参数不可分配给“配方[]”类型的参数。 “响应”类型缺少“配方 []”类型中的以下属性:长度、弹出、推送、连接和 26 个以上。ts(2345)...收到此错误
-
尝试将
response: Response更改为response: Recipe[]或response: any或只是response。 -
解决了,非常感谢:D
标签: javascript angular promise observable httpmodule