循环数据依次输出,写定时器的话会等任务全部执行完,全部一次性输出
wait_sleep()类似后端的sleep(),在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)
sendHeartBeat() {
var serialArr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
var pairArr = this.spArray(2, serialArr) // 将数组两两一组
console.log(pairArr) // [[1, 2], [3, 4], [5, 6], [7, 8], [9]]
pairArr.forEach(item => {
console.log(item) // [1, 2] / [3, 4] / [5, 6] / [7, 8], [9]
this.wait_sleep(1000) // 每隔1000毫秒输出一次
})
}
// 将数组进行分组 Q代表传过来的总数组,N为2时代表两两一组
spArray(N, Q) {
var R = []; var F
for (F = 0; F < Q.length;) {
R.push(Q.slice(F, F += N))
}
return R
}
// 用于循环每隔几秒输出一次,延时输出
// 解决循环里面写定时器,任务等待全部执行完,一次性输出
wait_sleep(ms) {
var unixtime_ms = new Date().getTime()
while (new Date().getTime() < unixtime_ms + ms) {
// console.log(11)
}
}