毎秒メソッドを呼び出したくない場合があります。むしろ、結果に関係なく、ajaxリクエストが完了してから1秒後に関数を呼び出したいと思います。
$.delay()
関数を使おうとしましたが、エラーが発生します
TypeError: $.delay is not a function
これが私のコードです
$(function(){
function checkMessages(){
$.ajax({
type: 'GET',
url: icwsHandlerUrl,
data: {method: 'getMessages', jSON: true},
dataType: 'json',
cache: false,
timeout: 5000,
success: function(data) {
console.log(data); // for testing only but this should call a handler for the data
},
complete: function(){
$.delay(1000, function(){
checkMessages();
});
}
});
}
$(window).load(function(){
checkMessages();
});
});
注:私はjQueryバージョン2.1.0を使用しています
$.delay
jQueryのイベントキューに保存されているイベントを遅らせるために使用されます。このためには、setTimeout
代わりにJavaScript独自のメソッドを使用する必要があります。
setTimeout(checkMessages, 1000);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加