2016-04-11 13 views
0

これらの温度センサーで遊んでいます。現在の温度を取得するためのREST API構造を持っています。フロントエンドでは、私はangularJsコードを持っており、私は自分のデータをリアルタイムで見ることができるようにしたいと考えています。angularJsを使用したリアルタイムデータの処理

だから、これは私のサービスコール私のコントローラで

getTemperature: function(){ 
    return $http({ 
    method:'GET', 
    url:'https://someurltoget/device10/temperature', 
    header:{ 
      'Accept':'application-json'}, 
    }).then(
     function(response){ 
     return response; 
    },function(error){ 
     return error;})} 

であると言う、私はこのサービスを呼び出して、私のビューを更新。しかし、温度値は60秒ごとに自動的に更新されます。この呼び出しで私のビューが更新されます。

しかし、どのような方法でリアルタイムデータを同時に取得するのがベストプラクティスであるかわかりません。

私は$ intervalを使用して60秒ごとにビューを更新するとしか思えません。しかし、私はこれがこの問題を解決する最良の方法ではないように感じています。

これはAngularJSの最善の方法でどのように達成できますか?

+0

私が使用$タイムアウトを言うと思います – Katana24

答えて

0

Web Socketsという名前のHTML5テクノロジがあります。これは次のようにMozillaは説明します

WebSocketをは、ユーザーのブラウザとサーバ間の双方向コミュニケーションセッションを開くことを可能にする高度な技術です。このAPIを使用すると、サーバーにメッセージを送信し、応答をサーバーにポーリングすることなく、イベント駆動の応答を受け取ることができます。

Webソケットは、サーバー上のイベントに基づいて一定のデータフローを開きます。つまり、要求を送信する必要がなくなり、サーバーは新しいエントリの作成が可能なイベントを聴くことができます。自動的にJavaScriptがブラウザ側でデータを更新します。

さらに明確にするため、このリファレンスを参照してください:Writing an AngularJS App with Socket.IO

サポート読み: Mozilla MDN: WebSockets

関連する問題