NodeJs之domain

domain

域。
简化了异步代码的异常处理,可以捕捉try catch无法捕捉的异常。

引入

const domain = require('domain')

domain模块把处理多个不同的IO操作为一个组。
当发生一个错误事件或抛出一个错误时,domain对象会被通知,不会丢失上下文环境,也不会导致程序错误立即退出、

显示绑定和隐式绑定

显示绑定:把不是在domain上下文中定义的变量,以代码的方式绑定到domain。
隐式绑定:把在domain上下文中定义的变量,自动绑定到domain对象。

属性

domain.members:已加入domain对象的域定时器和事件发射器的数组。

方法

domain.run(function):在域的上下文运行提供的函数,隐式的绑定了所有的事件分发器,计时器和底层请求。

doamin.add(emitter):显示的增加事件。

doamin.remove(emitter):删除事件。

domain.bind(callback):返回的函数是一个对于所提供的回调函数的包装函数。当调用这个返回的函数时,所有被抛出的错误都会被导向到这个域的error事件。

domain.intercept(callback):和bind类似,除了捕捉错误外,它还会拦截error对象作为参数传递到这个函数。

domain.enter():进入一个异步调用的上下文,绑定到domain。

domain.exit():退出当前的domain,切换到不同的链的异步调用的上下文中。

domain.dispose():释放一个domain对象,让node进程回收这部分资源。

domain.create():返回一个domain对象。

你可能感兴趣的:(Node)