第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查Javascript進程是否已在運行

檢查Javascript進程是否已在運行

慕哥6287543 2021-03-30 21:14:59
我有一個進度條腳本,它輪詢一個轉儲一些json數(shù)據(jù)的URL。然后,腳本根據(jù)所述json的內容(包括進度條)更新一些html值。這是代碼的簡化版本:function update_progress(status_url, index) {  bar_id = document.getElementById(String('bar' + index));  stage_id = document.getElementById(String('stage' + index));  $.getJSON(status_url, function(data) {    percent = parseInt(data['current'] * 100 / data['total']);    // change progress bar and stage_id values    bar_id.innerHTML = (percent + '%');    bar_id.style.width = (percent + '%');    stage_id.title = (data['status']);    stage_id.value = (data['status']);    stage_id.innerHTML = (data['status']);    // if state is unexpected then end poll    if (data['state'] != 'PENDING' && data['state'] != 'PROGRESS' && data['state'] != "COMPLETE") {      stage_id.innerHTML = (data['state']);          // otherwise keep polling every 1.5 seconds    } else {      setTimeout(function() {        update_progress(status_url, index);      }, 1500);    }}有時,status_url如果尚未編譯json數(shù)據(jù),則可能會返回500錯誤。因此,我有一個按鈕,可以通過update_progress再次調用來重新啟動此輪詢。問題: 如果用戶單擊“重新開始投票”按鈕,則將有兩個針對該活動的活動投票status_url。一次可能會有許多不同的民意調查正在進行status_url-數(shù)量越多,響應速度就越慢。所以我想避免能夠輪詢已經(jīng)進行的事情問題:是否可以檢查JS中是否已在進行具有相同值的進程?我知道這是低效的,并且在某個時候我將完全放棄JS來使用該輪詢系統(tǒng)-但是,在實現(xiàn)此功能之前,我需要對當前版本進行一些快速的效率修補。
查看完整描述

2 回答

?
繁花不似錦

TA貢獻1851條經(jīng)驗 獲得超4個贊

您可以將代碼分隔在多個回調上,這些回調將在成功,失敗時執(zhí)行,而其他回調則始終執(zhí)行,無論成功或失敗。然后,您可以猜測用戶何時單擊“提交”按鈕并將其禁用,然后在請求完成后再次啟用它。


var ongoing = true; // Disable submit button

$.getJSON(status_url, function(data) {

  // Your success code here

})

.fail(jqXHR, textStatus, errorThrown) {

  // Your error/retry code here

})

.always(function() {

   ongoing = false; // Enable submit button

});


查看完整回答
反對 回復 2021-04-08
  • 2 回答
  • 0 關注
  • 251 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號