📜  等待时间javascript(1)

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

等待时间 JavaScript

在编写 JavaScript 应用程序时,可能需要在代码的某些部分停止一段时间,直到某些条件满足,或者直接等待一段时间。本文将讨论在 JavaScript 中等待时间的各种方法。

基本的等待方法

JavaScript 提供了 setTimeout 方法,允许我们按照指定的时间(以毫秒为单位)延迟执行一段代码。以下是一个示例,该示例一秒钟后将输出 "Hello, world!"。

setTimeout(function() {
  console.log("Hello, world!");
}, 1000);

setTimeout 方法的第一个参数是一个回调函数,将在指定的时间后执行。第二个参数是等待时间,以毫秒为单位。

在上述示例中,我们使用了匿名函数作为回调。我们还可以使用已命名的函数:

function myFunction() {
  console.log("Hello, world!");
}

setTimeout(myFunction, 1000);
取消等待

setTimeout 方法返回一个超时 ID,可以使用该 ID 取消等待。以下是一个示例,该示例将取消等待并永远不输出 "Hello, world!"。

var timeoutId = setTimeout(function() {
  console.log("Hello, world!");
}, 1000);

clearTimeout(timeoutId);

clearTimeout 方法接收一个超时 ID 作为参数,该 ID 将取消等待时返回的 ID。

等待 Promise 解决

如果我们希望等待 Promise 解决,可以使用 async/await 语法。以下是一个示例,该示例将等待 1 秒钟,然后输出 "Hello, world!"。在等待期间,JavaScript 将继续执行其他代码。

async function myFunction() {
  await new Promise(resolve => setTimeout(resolve, 1000));
  console.log("Hello, world!");
}

myFunction();

在上述示例中,我们使用 await 等待一个 promise,该 promise 会在等待时解决。我们使用 setTimeout 返回一个 promise,在 1 秒钟后解决该 promise。

结论

在 JavaScript 中等待时间的方法有很多,包括 setTimeoutasync/await。在使用这些方法时,请注意避免阻塞代码或长时间等待,否则可能会对应用程序的性能产生不利影响。