前陣子因為試用 Visual Studio Code 與 Electron 寫了一個小專案
剛好寫到跟你問題一模一樣的東西,code 在此
https://github.com/s25g5d4/SlideShow/blob/master/scripts/main.js#L76
我使用 mrbigmouth 板友提到的 async.js 套件,你可以參考一下
configs.images 是一個包含數個字串的陣列 (就是圖檔檔名)
loadImg 函數會試著把這些圖檔載入,具體行為是
1. 建立 Image() 並檢查是否有 cache (透過檢查 complete 屬性)
2. 掛上 onload 事件
3. 掛上 onerror 事件
imgDone 函數是當 configs.images 裡所有圖檔都載入後
過濾錯誤的圖片,將頁面初始化並開始繪製畫面