看板 Ajax 關於我們 聯絡資訊
一個小程式,還請大大們看一下程式碼 var array = []; for (n in m) { var img = new Image(); var i = m[n]; img.onload = function () { //圖片讀取好後進行一些處理再return回來 var t = doImg(this); i.forEach(function(p){ //將圖片及資訊push進array array.push({ img : t, p1 : p, p2 : [p[0] + t.width, p[1] + t.height], p3 : t.pos[1] + p[1] }); }); }; img.src = './img/item/' + n; } //對array做處理 dosomthing(array); 以上 在最後處理array的時後,array裡面一直沒有東西 我知道是因為圖片讀取延遲的關係導至最後的處理比push還要早執行 但是我不知道能將最後執行的部分放在哪裡才能讓程式能正常的運作 想請叫一下各位大大們 要怎麼樣確保最後的處理一定會在圖片讀取完成之後呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.155.52.95 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1440189915.A.035.html
poiuy999: +一層document.ready(function) 試試? 08/22 23:30
poiuy999: 但我看不懂p t 從那來的 08/22 23:32
DKMonster: 用promise 09/05 09:43
heyyosweet: Callback 09/07 20:43
b510336: callback 01/17 15:53