烬:每5秒轮询一次api,但要在获得前一次调用的响应之后

Ember: Poll an api every 5 secs, but after getting response of the previous call

本文关键字:一次 之后 响应 调用 api 5秒      更新时间:2023-09-26

在转换到路由时,调用api,等待响应,一旦得到响应,等待5秒,然后再次调用相同的api并重复此操作,直到我退出路由。

所以这里的catch是在获得响应后等待5秒,并再次执行相同的api调用。我如何在十二月实现这一点?我试过下面的轮询,但是轮询不能满足我的要求。

 Ember.Route.extend({  
  model: function() {
    var interval = 1000 * 60;
    Ember.run.later(this, function() {
      this.model().then(function(json) {
        this.controller.set('model', json);
      }.bind(this));
    }, interval);
    return Ember.$.getJSON('some api request');
  },

试试这个:

Ember.Route.extend({
  model: function() {
    var interval = 1000 * 60;
    var five = function() {
      this.model().then(function(json) {
        this.controller.set('model', json);
        setTimeout(five, 5000);
      }.bind(this));
    };
    Ember.run.later(this, five, interval);
    return Ember.$.getJSON('some api request');
  },