我正在设置一个 Angular 服务来从 API 检索虚拟数据并将前 3 个元素推送到 TypeScript 类属性,但我收到此错误:未捕获(在承诺中):类型错误:无法读取未定义的属性"组"
利用fetch
方法和for
循环,我尝试将前 3 个返回的对象推送到类中声明的空属性,但是,在尝试推送数据时出现错误。我无法看到问题的原因。
export class DishService {
group = [];
constructor() {
}
fetchIt() {
fetch('https://jsonplaceholder.typicode.com/todos')
.then(response => response.json())
.then(function(json){
for(var i = 0; i<3; i++){
console.log(json[i])
this.group.push(json[i])
}
})
}
}
错误说"this"是未定义的,这是因为"this"指的是包含正在调用的方法的对象,在您的情况下 - "then",而不是DishService类。
您可以按照此处的建议使用箭头函数:为什么在使用 promise 时,类方法中未定义"this"?