質問

誰でもできるので郵便サンプルコード記載のパランニングタイマー(javascript settimeoutなデータ検索..

基本的に私がこのタイマーな表示新しいメッセージ..

myFunction(param){

//data retrieval operation
//using getJSON.. call displaydata() base on param

settimeout("myFunction()", param, 1000);

}

function displaydata(param){

//processing
alert('test')}

どちらを使うべきgetJSON?と思う人にもぴっ問題の非同期通..

役に立ちましたか?

解決

二つのことに気付いたのですごい。

  • setTimeout() 方法が誤った議論
  • ご非同期 getJSON 通話を作成し、レース状態の間には次のタイムアウトの結果を getJSON 方法。この代わり:

.

function yourFunction(params) {  
    jQuery.getJSON("url", {data}, function(data, textStatus){
        // handle your JSON results

        // Call the timeout at the end of the AJAX response
        // This prevents your race condition
        setTimeout(function(){
            yourFunction(params);
        }, 1000);
    }
} 

setTimeout(function(){
    yourFunction(params);
}, 1000);

他のヒント

最初のパラメータは、関数リテラルまたは機能基準であるべきであり、2番目のパラメータはミリ秒であるべきである。

setTimeout( function() {
    getData('param')
}, 1000);

function getData() {
     $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
        function(data){
          $.each(data.items, function(i,item){
            $("<img/>").attr("src", item.media.m).appendTo("body");
            if ( i == 3 ) return false;
          });
        });
}

私は、私の例では、実際の引数を使用していないが、あなたは簡単にそうするように、それを更新することができます。また、私は(これは世論調査/再帰呼び出しを行いません)あなたが投票したかどうかわからなかった。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top