Node.js v18.7.0 文档


目录

timers 定时器#

中英对照

timer 模块暴露了一个全局的用于在未来某个时间点调用的调度函数的 API。 因为定时器函数是全局的,所以不需要调用 require('node:timers') 来使用该 API。

Immediate#

中英对照

此对象是在 setImmediate() 内部创建并返回。 它可以传给 clearImmediate() 以取消调度的行动。

immediate.hasRef()#

中英对照

    如果为 true,则 Immediate 对象将使 Node.js 事件循环保持活动状态。

    immediate.ref()#

    中英对照

      调用时,只要 Immediate 处于活动状态,就请求 Node.js 事件循环不退出。 多次调用 immediate.ref() 将不起作用。

      immediate.unref()#

      中英对照

        调用时,活动的 Immediate 对象不需要 Node.js 事件循环保持活动状态。 如果没有其他活动保持事件循环运行,则进程可能会在调用 Immediate 对象的回调之前退出。 多次调用 immediate.unref() 将不起作用。

        Timeout#

        中英对照

        此对象是在 setTimeout()setInterval() 内部创建并返回。 它可以传给 clearTimeout()clearInterval() 以取消调度的行动。

        timeout.close()#

        中英对照

          取消超时。

          timeout.hasRef()#

          中英对照

            如果为 true,则 Timeout 对象将使 Node.js 事件循环保持活动状态。

            timeout.ref()#

            中英对照

              调用时,只要 Timeout 处于活动状态,就请求 Node.js 事件循环不退出。 多次调用 timeout.ref() 将不起作用。

              timeout.refresh()#

              中英对照

                将定时器的开始时间设置为当前时间,并重新调度定时器在调整为当前时间的先前指定的时长调用其回调。 这对于在不分配新的 JavaScript 对象的情况下刷新定时器很有用。

                timeout.unref()#

                中英对照

                  调用时,活动的 Timeout 对象不需要 Node.js 事件循环保持活动状态。 如果没有其他活动保持事件循环运行,则进程可能会在调用 Timeout 对象的回调之前退出。 多次调用 timeout.unref() 将不起作用。

                  timeout[Symbol.toPrimitive]()#

                  中英对照

                    Timeout 强制为原始类型。 该原始类型可用于清除 Timeout。 该原始类型只能在创建超时的同一线程中使用。 因此,要在 worker_threads 上使用它,则必须首先将其传给正确的线程。 这允许增强与浏览器 setTimeout()setInterval() 实现的兼容性。

                    调度定时器#

                    中英对照

                    Node.js 中的定时器是一种会在一段时间后调用给定函数的内部构造。 定时器函数的调用时间取决于用于创建定时器的方法以及 Node.js 事件循环正在执行的其他工作。

                    setImmediate(callback[, ...args])#

                    中英对照

                      在 I/O 事件的回调之后调度 callback 的“立即”执行。

                      setInterval(callback[, delay[, ...args]])#

                      中英对照

                        delay 毫秒调度重复执行 callback

                        setTimeout(callback[, delay[, ...args]])#

                        中英对照

                          delay 毫秒后调度单次的 callback 的执行。

                          取消定时器#

                          中英对照

                          setImmediate()setInterval()setTimeout() 方法各自返回表示调度的定时器的对象。 这些可用于取消定时器并防止其触发。

                          
                          

                          
                          

                          clearImmediate(immediate)#

                          中英对照

                            取消由 setImmediate() 创建的 Immediate 对象。

                            clearInterval(timeout)#

                            中英对照

                              取消由 setInterval() 创建的 Timeout 对象。

                              clearTimeout(timeout)#

                              中英对照

                                取消由 setTimeout() 创建的 Timeout 对象。

                                定时器的 Promise API#

                                中英对照

                                timers/promises API 提供了一组可返回 Promise 对象的可供选择的定时器函数。 API 可通过 require('node:timers/promises') 访问。

                                
                                

                                timersPromises.setTimeout([delay[, value[, options]]])#

                                中英对照

                                  
                                  

                                  timersPromises.setImmediate([value[, options]])#

                                  中英对照

                                    
                                    

                                    timersPromises.setInterval([delay[, value[, options]]])#

                                    中英对照

                                    返回异步迭代器,以 delay 毫秒的间隔生成值。

                                      
                                      

                                      timersPromises.scheduler.wait(delay[, options])#

                                      中英对照

                                        调度 API 草案规范定义的实验性 API,正在开发为标准 Web 平台 API。

                                        
                                        

                                        timersPromises.scheduler.yield()#

                                        中英对照

                                          调度 API 草案规范定义的实验性 API,正在开发为标准 Web 平台 API。

                                          返回顶部