2017-01-09 7 views
-1

私はangularjsとD3を初めて使用しています。 ここでは、D3を使用してリアルタイム折れ線グラフを実装するつもりです。私はangulrjs httpコールを使用して、外部REST APIからデータを取得しています。しかし問題は、httpコールを使用してREST APIから頻繁にデータを要求する方法がわかりません。は、anglejsでhttpコールを使用してREST APIからのデータを頻繁に要求しています

+2

あなたのケースでは、Web Socketsがより適していると思います。 –

+0

いいえ、私はREST APIからデータを要求する必要があります。したがって、Webソケットは必要ありません。ちょうどajaxコールを頻繁にループする必要があります。しかし、私はajax呼び出しをループする方法を理解できません。 –

答えて

0

Webソケットを絶対に使用できない場合は、$ intervalをチェックアウトしてください。 https://docs.angularjs.org/api/ng/service/$interval

基本的にこれを使用すると、指定した遅延で何度も何度も機能を実行することができます。例えば

:上記のコードで

(function() { 
'use strict'; 
angular 
    .module('app') 
    .controller('TestController', TestController); 

TestController.$inject = ['$interval']; 

function TestController($interval) { 
    var vm = this; 

    //Perform doSomething every 10000 ms 
    $interval(doSomething, 10000); 

    function doSomething() { 
     //some logic here 
    }  
} 

})(); 

doSomethingのは、すべての10000ms呼び出される関数。

あなたのケースでは、あなたの要求をdoSomething内に置き、あなたの残りのAPIからの応答であなたの範囲を更新することができます。

NB:これは機能しますが、必ずしも最適なソリューションではありません。 SignalSのようなものがWebSocketの方が良い解決策になります。

関連する問題