javascript 怎么实现sleep功能,ଠ如果用while循环耗时间, 页面会锁死

2025-03-03 09:07:22
推荐回答(4个)
回答1:

你戳到js的痛处了
最开始设计时候就是单线程的
即时用setTimeout 模拟

也只是将代码片插入主线程里 然后间隔一个时间片自动触发执行
就像埋个定时boom 而不是sleep这种高级遥控boom

所以一般都是用:

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
语法
setTimeout(code,millisec)

参数
描述

code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。

setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

回答2:

如果只是要定时到某个时间之后就做什么事,那么window.setTimeout即可。
如果要真sleep,即停止页面上一切脚本的执行,又不想while锁死,那js应该做不到,要靠脚本宿主(浏览器,webview等)实现

回答3:

用settimeout函数

回答4:

settimeout延迟执行方法