📜  JavaScript 休眠等待函数(1)

📅  最后修改于: 2023-12-03 15:16:10.039000             🧑  作者: Mango

JavaScript 休眠等待函数

在编写 JavaScript 代码时,可能会遇到需要等待一段时间后再继续执行的情况。这时候我们就需要用到 JavaScript 的休眠等待函数。

setTimeout()

最常用的休眠等待函数就是 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 和 async/await。这两个特性可以帮助我们更方便地处理异步代码。

Promise 是 JavaScript 中新增的一个对象,它代表了一个异步操作最终的完成或失败。我们可以在 Promise 中使用回调函数来处理异步操作的结果。

而 async/await 则是 ES2017 中新增的特性。它能够在函数中等待 Promise 对象的结果,避免了回调函数嵌套的问题。

在上面的代码中,我们定义了一个异步函数 run(),它使用了 await 关键字来等待 sleep() 函数返回的 Promise 对象。

总结

JavaScript 的休眠等待函数可以帮助我们处理异步代码,避免回调函数嵌套的问题。我们可以使用 setTimeout() 函数来实现等待一定时间后继续执行,也可以使用 Promise 和 async/await 来更方便地处理异步代码。