背景
前兩天,有個從事人事工作的朋友,每天需要在boss上打招呼.
問我能不能批量搞一下啊~
我說簡單,幾分鍾搞定~~~
實現
寫了一版,發現是所有打招呼在幾秒內完成的.
想實現一個間隔隨機幾秒執行.....
//定時任務總次數 var maxCount = 55; //隨機單位時間范圍 var minNum = 1, maxNum = 10; //執行時間單位(1毫秒,10/10毫秒;100/百秒;1000/秒,) var p_unit = 1000; //隨機數函數 function randomNum(minNum, maxNum) { switch (arguments.length) { case 1: return parseInt(Math.random() * minNum + 1, 10); break; case 2: return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10); break; default: return 0; break; } } //時間格式化 function timestampToTime(timestamp) { var date = new Date();//時間戳為10位需*1000,時間戳為13位的話不需乘1000 var Y = date.getFullYear() + '-'; var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); strDate = Y + M + D + h + m + s; return strDate; } //隨機數實例函數 function num(unit) { if (!unit) unit = p_unit; var n = randomNum(1, 5); var nowDate = new Date().getTime(); console.log(timestampToTime(nowDate) + "間隔" + n * unit / 1000 + "秒執行"); return n * unit; } //執行任務. var ii = setInterval(befor, num()); var index = 1; function befor() { //方法可取消由 setInterval() 函數設定的定時執行操作 clearInterval(ii); //主函數 codeAddress(); console.log("淘小人提醒您:任務總次數>>>"+maxCount+", 當前執行次數>>>" + index) //遞歸 if (index <= 55) { ii = setInterval(befor, num()) } else { console.log("淘小人提醒您,任務完畢.總執行次數>>>" + index) } //遞歸使用,當前索引+1 index = index + 1; }