📜  如何在 NodeJS 中暂停特定时间?(1)

📅  最后修改于: 2023-12-03 14:52:27.749000             🧑  作者: Mango

如何在 NodeJS 中暂停特定时间?

在 NodeJS 中,我们经常需要暂停程序一段特定的时间,比如等待异步操作完成或是避免过于频繁地请求数据。本文将介绍几种方法帮助你在 NodeJS 中暂停特定时间。

1. setTimeout() 方法

setTimeout() 方法可以在指定的时间后执行代码,允许我们在 NodeJS 中暂停执行一段时间。下面是一个例子:

console.log("Start");

setTimeout(() => {
  console.log("Waiting...");
}, 2000);

console.log("End");

在上面的例子中,我们使用 setTimeout() 方法在 2 秒(2000 毫秒)后执行 console.log("Waiting...")。当执行以上代码后,我们会发现控制台先输出了 "Start" 和 "End",然后在 2 秒后输出了 "Waiting..."。

2. sleep() 方法

另一种方法是使用 sleep() 方法,该方法可以暂停执行一段特定时间。下面是一个例子:

function sleep(ms) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

async function run() {
  console.log("Start");

  await sleep(2000);

  console.log("Waiting...");

  console.log("End");
}

run();

在上面的例子中,我们定义了一个 sleep() 方法,该方法返回一个 promise,该 promise 在指定的时间后 resolve。然后我们使用 async/await 语法在 run() 函数中暂停执行 2 秒后输出 "Waiting..."。运行以上代码后,我们可以在控制台中看到 "Start" 和 "End" 先输出,然后等待 2 秒后输出 "Waiting..."。

总结

本文介绍了两种在 NodeJS 中暂停特定时间的方法:setTimeout()sleep()。其中,setTimeout() 方法是一个JavaScript原生方法,可以通过指定等待的时间来延迟代码的执行。而sleep()方法是为了使代码更加可读,同时利用Async / Await方法来创建。这两种方法都可以在NodeJS中进行暂停,你可以根据具体需求来选择其中的一种或两种方法。