次のjQueryコードが与えられた場合
function poll(){
$.ajax({ url: /myurl,
success: function(data){
//do stuff
},
dataType: "json",
complete: poll,
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
$("#ajax-msg").html("Not connect.\n Verify Network.");
} else if (jqXHR.status == 404) {
$("#ajax-msg").html("Requested page not found. [404]");
} else if (jqXHR.status == 500) {
$("#ajax-msg").html("Internal Server Error [500]");
} else if (exception === 'parsererror') {
$("#ajax-msg").html("Requested JSON parse failed.");
} else if (exception === 'timeout') {
$("#ajax-msg").html("Time out error.");
} else if (exception === 'abort') {
$("#ajax-msg").html("Ajax request aborted.");
} else {
$("#ajax-msg").html("Uncaught Error.\n" + jqXHR.responseText);
}
//wait for some interval and then try to poll again
},
timeout: 10000
});
}
エラー状態では、poll() 関数を 1 秒、2 秒、4 秒、8 秒、16 秒、32 秒、1 分、2 分、4 分、10 分、20 分、30 分、40 分...
睡眠の使用は正しくないことを読みました。これを達成するために「スリープ」、間隔、またはタイムアウトを設定する適切な方法を知りたいです。