問題が最良のコードによって説明された要求:ストップ発射アヤックスが
var myinterval = setInterval(function() {
$.ajax({
data: data
url: url,
success: function(data) {
if (data) { /* I want to clear current interval */ }
else { /* let it firing ajax requests further */ }
}
});
}, 1000);
だから、私が欲しいのは「何か」のステータスが変化しているかどうかを確認するために、AJAXリクエストに各秒を発射することです。そして、この何かが適切に変わったら、私はそれを点検することを止めたい。基本的に、私はそれをどのようにして最もよく理解しているのかを尋ねています。私が前にやった
は一種の醜いです:
window.x = {
'debug' : document.location.host.indexOf('.ru') != document.location.host.length - 3
};
var setItem = function(i,v) {
if (window.x['debug'] && typeof window.x[i] != 'undefined' && typeof console != 'undefined' && window.x[i] != v)
console.log('Value of item ' + i + ' has changed from ' + window.x[i] + ' to ' + v)
window.x[i] = v
};
var getItem = function(i) {
if (window.x['debug'] && typeof window.x[i] == 'undefined' && typeof console != 'undefined')
console.warn('Value of item ' + i + ' is undefined (maybe was not set?)')
return window.x[i]
};
だから、いや、私は(これは私の一時的な記憶である)、ここでグローバルx
を占領しました。 、
clearInterval(getItem('myinterval'));
しかし、これは本当に醜いです:
getIntem('myinterval');
と、それを停止します。私はこの間隔を得ることができ、成功関数内
setItem('myinterval', myinterval);
:今、私はx
に私の間隔var
を設定することができますではない? とは何ですか?最高のこれを行うには?
セット 'のvar x = $アヤックス(.. ';'、次にx.abort()が必要です。 –