Node JS 中的 settimeout
Isaac Tony
2022年5月13日
setTimeOut()
函数是一个异步函数,用于在指定时间后执行一段代码。
这是我们可以用来调度 Node js API 提供的代码的几种方法之一。此方法在窗口对象和服务器端都可用。
但是,它在服务器端的实现与 window 对象中使用的不同。
在 NodeJS 中使用 setTimeOut()
函数
setTimeOut()
函数在 Timers 模块下提供。该模块提供了各种方法,我们可以使用这些方法来安排函数在指定时间后调用。
由于 Timer 对象是一个全局对象,因此在使用 setTimeOut()
函数时,我们的代码中不需要 require()
任何内容。
setTimeout()
函数接受几个参数,包括:
- 该功能将在设定的时间间隔过后执行。
- 计时器在执行指定函数之前将等待的时间(以毫秒为单位)。
- 额外的可选参数。
此函数返回一个正整数
值,用于标识由对该函数的调用创建的计时器,通常称为 timeoutID
。
这是 setTimeOut()
函数的语法。
setTimeout(function[, delay, arg1, arg2, ...]);
setTimeOut()
函数的一个简单示例,用于在函数之间暂停执行一定的毫秒数。
const display = () => {
console.log("Some code to be executed !");
}
//function may contain more parameters
setTimeout(display, 4000)
输出:
Some code to be executed !
setTimeOut()
的异步特性在执行多个相互等待的函数时显露出来。在下面的示例中,执行第一个函数之前的平均等待时间为 6 秒
。
现在同时执行第二个函数。但是,由于执行第二个函数的平均等待时间是 4 秒
,因此最后一个函数首先执行,然后是第二个函数,最后是第一个函数。
setTimeout(() => {console.log("This is the first statement")}, 6000);
setTimeout(() => {console.log("This is the second statement")}, 4000);
setTimeout(() => {console.log("This is the final statement")}, 2000);
输出:
This is the final statement
This is the second statement
This is the first statement
Author: Isaac Tony
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn