我想每秒自动加载数据。
我使用 setinterval ,但它总是说这样的错误
“TypeError:undefined不是函数(靠近'... this.state.forumContentData.map ...')”
以下是我的尝试:
const Vehicle = function(){};
Object.defineProperty(Vehicle.prototype, "_wheels", {
enumerable: false,
writable: true,
});
const Bike = function() {}
Bike.prototype = Object.create(Vehicle.prototype);
Object.defineProperty(Bike.prototype, "wheels", {
get: function() {
return this._wheels;
},
set: function(numWeels) {
if (numWeels > 2) {
throw new Error('Sorry, too many wheels!');
return;
}
this._wheels = numWeels;
}
});
myBike = new Bike();
myBike.wheels = 3;
console.log(myBike.wheels);
在本地响应中,每秒自动加载数据的最佳方法是什么?
答案 0 :(得分:0)
在setInterval内部,上下文不同。您绑定了setInterval,但没有绑定promise的响应。
试试这个:
getForumContent() {
let self = this;
return fetch('http://' + ipAddress() + ':' + portAddress() + '/api/forum/view_thread', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.then((response) => response.json())
.then((responseJson) => {
self.setState({forumContentData: responseJson}); // Get the data from API
})
.catch((error) => {
//console.error(error);
alert(error);
});
}