2016年2月8日 星期一

[javascript] 處理 js 的長時間工作

概念:
    javascript 是單執行緒來執行的,當事件被觸發後是會一個一個的執行,前一個沒有結束,後面的也不會執行

    常見的情況像是瀏覽器的 alert 阻擋住了後面的工作等等

衍生問題:
    使用 iframe 如何? 事件觸發順序是什麼 ?

-----
範例的第一個按鈕.... 真的會執行很久...

http://embed.plnkr.co/CNwaGKvRmIhALA0ZTYxb/

----
透過簡單的招式將工作切割成小工作來執行

var jobs = 200000;  // 總工作數
var partNum = 2000;  // 工作切割個數
var partSize = jobs/partNum; // 每個切割中的工作數
var iter = 0;  // 控制迭代的變數