📅  最后修改于: 2023-12-03 15:16:10.039000             🧑  作者: Mango
在编写 JavaScript 代码时,可能会遇到需要等待一段时间后再继续执行的情况。这时候我们就需要用到 JavaScript 的休眠等待函数。
最常用的休眠等待函数就是 setTimeout()
。它的作用是在一定时间后执行指定的函数。
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms))
}
async function run() {
console.log('Hello')
await sleep(1000)
console.log('World!')
}
run()
上面的代码中,我们定义了一个名为 sleep()
的函数,它返回一个 Promise 对象。在等待指定的毫秒数后,Promise 对象就会被 resolve()
,程序就会继续执行。
run()
函数中先输出了 Hello
,接着调用了 sleep()
函数等待了 1 秒钟后再输出了 World!
。
在上面的代码中,我们使用了 Promise 和 async/await。这两个特性可以帮助我们更方便地处理异步代码。
Promise 是 JavaScript 中新增的一个对象,它代表了一个异步操作最终的完成或失败。我们可以在 Promise 中使用回调函数来处理异步操作的结果。
而 async/await 则是 ES2017 中新增的特性。它能够在函数中等待 Promise 对象的结果,避免了回调函数嵌套的问题。
在上面的代码中,我们定义了一个异步函数 run()
,它使用了 await
关键字来等待 sleep()
函数返回的 Promise 对象。
JavaScript 的休眠等待函数可以帮助我们处理异步代码,避免回调函数嵌套的问题。我们可以使用 setTimeout()
函数来实现等待一定时间后继续执行,也可以使用 Promise 和 async/await 来更方便地处理异步代码。