2017-10-26 6 views
0

ライブフィードにアクセスしていて、うまく動作しているjavascript APIを使用していますが、更新/更新のフィードを確認するにはどうすればよいですか?以下は、私が現在フィードを取得するために使用しているコードです。一度に1つだけです。私は、更新を得るための非常に簡単な解決策があると確信しています。 jsonが既存の結果を更新するように、設定された数のidが返されます。更新/更新のためのプライベートAPIのフィードを確認するjavascript

var api = GeotabApi(function (authenticateCallback) { 

     authenticateCallback('server', 'database', 'userName', 'password', function(err) { 
      console.error(err); 
     }); 

    }, { 
     // Overrides for default options 
     rememberMe: false 
    }); 


api.call('Get', { 
    typeName: 'Device', 
    resultsLimit: 1 
}, function (result) { 
    if (result) { 
     console.log(result); 
    } 
}, function (err) { 
    console.error(err); 
}); 

あなたは機能にあなたのapi.callコードをラップして、タイマーを使用してそれを繰り返し呼び出すことができ、事前

+0

タイマーでapiを呼び出すことはできますか?たぶん私は何かを見逃しています...ここでは、タイマーに関するいくつかの読書ですhttps://developer.mozilla.org/en-US/Add-ons/Code_snippets/Timers –

+0

ええと、今すぐそれは私がそれを得るまでコンソールに書いています作業し、最終的に私はjsonを解析し、XYをリーフレットマップにロードします。今のところ、api.callは更新されません。 getをリフレッシュさせ、更新されたフィードを取得するコードを見つけようとしています。このサンプルをリフレッシュするにはどうすればよいでしょうか? – KRL

+0

あなたは、すべての更新(同じように)APIコールを同じパラメータで渡し、出力と同じことをやっていますか? –

答えて

0

でいただきありがとうございます。 SetIntervalはここでうまく動作します - x msごとに関数を呼び出します。ここに例があります

var delay = 10 * 1000; // 10 seconds 

// call api every x seconds to get an update 
var intervalID = setInterval(callAPI, delay); 

function callAPI() { 
    api.call('Get', { 
    typeName: 'Device', 
    resultsLimit: 1 
    }, function(result) { 
    if (result) { 
     console.log(result); 
    } 
    }, function(err) { 
    console.error(err); 
    }); 
} 

// you can cancel the interval at any time using 
// clearInterval(intervalID); 
+0

完璧な作品です、ありがとう – KRL

関連する問題