博客日历
2024年11月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
28 | 29 | 30 | 31 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 1 |
存档
2024年03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
JavaScript:异步不阻塞的耗时循环程序
// 异步不阻塞的耗时循环程序 // start 循环起始变量 // end 循环结束变量,是闭区间 // taskFn 是一个回调函数,形式为 function task(i) { },且是同步调用 // endFn 是一个回调函数,循环结束时执行 function asynForEach(start, end, taskFn, endFn) { this.__index = start; this.__end = end; function __step() { taskFn(__index); if (__index < __end) { __index++; setTimeout(__step, 10); } else { if (endFn != null) { endFn(); } } } setTimeout(__step, 10); } // 待处理的数据 var g_data = ["data1","data2","data3","data4"]; var start = 0; var end = g_data.length - 1; asynForEach(start, end, OnTask, OnEnd); // 注意这个函数需是同步操作 function OnTask(i) { console.log("OnTask:" + g_data[i]); } function OnEnd() { console.log("OnEnd"); }
上一篇: 在Windows7中使用Windows10的TTS语音包
下一篇: 将VSCode作为绿色便携版运行
分类:Web开发 查看次数:1836 发布时间:2020/4/2 16:21:42