我有以下jQuery代碼:jQuery的條件爲停止的setInterval輪詢
:
<script>
$(document).ready(function() {
setInterval(function() {
$.get('async', function(data) {
$('#datum').text(data);
});
}, 1000); // 1000 milliseconds = 1 second.
});
</script>
在這種情況下,我從一個稱爲異步使用以下HTML的servlet呈現回字符串結果該字符串包含正在運行的字詞或已完成。如果數據變量包含「completed」,我想停止上面的輪詢。我曾嘗試下面的代碼snipplet但我究竟困惑在哪裏放置它,或者如果它甚至是正確的:
if (data ==="completed") {
for (var i = 1; i < 99999; i++) {window.clearInterval(i);}
}
我也曾嘗試
if ($('#datum').text(data) ==="completed") {
for (var i = 1; i < 99999; i++) {window.clearInterval(i);}
}
我做了多次嘗試,所有的這打破了功能。在不嘗試停止輪詢的情況下,上述工作完全正常,可以持續輪詢並返回狀態「正在運行」,除非它達到「已完成」狀態,否則它繼續輪詢。