如何自动反应原生每秒加载数据?

时间:2017-12-24 13:41:36

标签: javascript react-native

我想每秒自动加载数据。

我使用 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);

在本地响应中,每秒自动加载数据的最佳方法是什么?

1 个答案:

答案 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);
  });
}