问题源自业务开发中的一点思考
问题描述
我该如何让当前的 JavaScript 代码暂停1s后再继续执行呢,如果是放在放在其他语言中,那么 sleep(1000) 就可以了,但是 JavaScript 中并没有 sleep() 方法。
解决
function sleep(delay) {
return new Promise(resolve => setTimeout(resolve, delay))
}
调用
sleep(1000).then( _ => {
doSomething()
})
async function run() {
doSomething()
await sleep(1000)
doSomething()
}
run()
function sleep2(delay) {
let now = new Date().getTime()
let timeDelay = now + delay
while (true) {
if ((new Date().getTime()) > timeDelay) {
return
}
}
}
调用
function run() {
doSomething()
sleep2(1000)
doSomething()
}
run()
版权属于:ajycc20
本文链接:https://ajycc20.top/archives/30.html
所有原创文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。