看板 Ajax 關於我們 聯絡資訊
沒仔細看你的 code ,太長了 XD 提供點觀念上的心得, 要做 loading check,最簡單的方式就是偽做 sleep 等待。 實際上 js 並沒有 sleep 這樣的東西,所以我們就改以排程佇列的方式實做。 無論是 xmlHttpRequest 或 javascript module loading, 都可以用相同的方式來處理。 首先要準備一個全域變數,譬如說是 watingBuffer。 然後在每個需要去確認 loading check 的地方安鎖, 當需要使用的資料尚未被載入時, 把自己這個 function push 到 watingBuffer 裡, 並且 setTimeout 去 scan watingBuffer 重作裡面的 function stack。 要注意的幾點: 1.如果是要運行物件裡的 func,傳遞後用可以用 obj['funcName'] () 的方式呼叫。 2.function 當下的變數記得也要置入 waitingBuffer 或用相關方式傳遞出去。 3.也記得要紀錄每個 function 被 recall 的次數,不然會無限上岡的呼叫… XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.80.28.216