2016-09-15 10 views
0

経路への切り替え時に、api呼び出しを行い、応答を待ってから応答を得たら、5秒待ってから再度呼び出します私が経路から退出するまで、これを繰り返してください。Ember:5秒ごとにapiをポーリングしますが、前の呼び出しの応答を取得した後

ここでキャッチするのは、応答を取得してから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'); 
    }, 

答えて

0

これを試してみてください:

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'); 
    }, 
+0

おかげでこれを試してみて、戻ってきます。 – user3475737

+0

タイマーをクリアする必要がある場合は? – user3475737

+0

'(some_var)setTimeout(five、5000);を試してください。 –

関連する問題