Node.js v18.8.0 文档


目录

domain 域#

中英对照

此模块正在等待弃用。 一旦替换 API 完成,则此模块将被完全弃用。 大多数开发者应该没有理由使用此模块。 绝对必须拥有域提供的功能的用户可能暂时依赖它,但预计将来必须迁移到不同的解决方案。

注意:不要无视错误#

中英对照

发生错误时,域错误句柄不能替代关闭进程。



错误对象的补充#

中英对照

每当 Error 对象通过域路由时,都会向其中添加一些额外的字段。

    隐式的绑定#

    中英对照

    如果域正在使用中,则所有新的 EventEmitter 对象(包括流对象、请求、响应等)将在创建时隐式地绑定到活动域。

    显式的绑定#

    中英对照

    有时,使用的域不是应该用于特定事件触发器的域。 或者,事件触发器可以在域的上下文中创建,但可以绑定到其他域。

    
    

    domain.create()#

    Domain#

    中英对照

      Domain 类封装了路由错误和未捕获异常到活动 Domain 对象的功能。

      domain.members#

      中英对照

        已显式地添加到域的定时器和事件触发器数组。

        domain.add(emitter)#

        中英对照

          显式地添加触发器到域中。 如果触发器调用的任何事件句柄抛出错误,或者触发器触发 'error' 事件,则它将被路由到域的 'error' 事件,就像隐式绑定一样。

          domain.bind(callback)#

          中英对照

            返回的函数将是提供的回调函数的封装器。 当调用返回的函数时,抛出的任何错误都会被路由到域的 'error' 事件。

            
            

            domain.enter()#

            中英对照

            enter() 方法是 run()bind()intercept() 方法用来设置活动域的管道。 它将 domain.activeprocess.domain 设置为域,并将域隐式推送到域模块管理的域堆栈上(有关域堆栈的详细信息,请参见 domain.exit())。 对 enter() 的调用界定了一系列异步调用和绑定到域的 I/O 操作的开始。

            domain.exit()#

            中英对照

            exit() 方法退出当前域,将其从域堆栈中弹出。 任何时候执行将切换到不同异步调用链的上下文,确保退出当前域很重要。 对 exit() 的调用界定了异步调用链和绑定到域的 I/O 操作链的结束或中断。

            domain.intercept(callback)#

            中英对照

              此方法和 domain.bind(callback) 差不多。 但是,除了捕获抛出的错误外,它还会拦截作为第一个参数发送给函数的 Error 对象。

              
              

              domain.remove(emitter)#

              中英对照

                domain.add(emitter) 的反义词。 从指定的触发器中删除域处理。

                domain.run(fn[, ...args])#

                中英对照

                  在域的上下文中运行提供的函数,隐式地绑定在该上下文中创建的所有事件触发器、定时器和低层请求。 可选地,参数可以传给函数。

                  
                  

                  domain 与 Promise#

                  中英对照

                  从 Node.js 8.0.0 开始,promise 的句柄在调用 .then().catch() 本身的域内运行:

                  
                  

                  
                  

                  返回顶部