你戳到js的痛处了
最开始设计时候就是单线程的
即时用setTimeout 模拟
也只是将代码片插入主线程里 然后间隔一个时间片自动触发执行
就像埋个定时boom 而不是sleep这种高级遥控boom
所以一般都是用:
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
语法
setTimeout(code,millisec)
参数
描述
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。
setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
如果只是要定时到某个时间之后就做什么事,那么window.setTimeout即可。
如果要真sleep,即停止页面上一切脚本的执行,又不想while锁死,那js应该做不到,要靠脚本宿主(浏览器,webview等)实现
用settimeout函数
settimeout延迟执行方法