domain模块可以捕捉处理try catch无法捕捉的异常。引入 Domain 模块 语法格式如下:
vardomain=require("domain")
常用方法:
domain.run(function)
在域的上下文运行提供的函数,隐式的绑定了所有的事件分发器,计时器和底层请求。
domain.add(emitter)
显式的增加事件
domain.remove(emitter)
删除事件。
domain.bind(callback)
返回的函数是一个对于所提供的回调函数的包装函数。当调用这个返回的函数时,所有被抛出的错误都会被导向到这个域的 error 事件。
domain.intercept(callback)
和 domain.bind(callback) 类似。除了捕捉被抛出的错误外,它还会拦截 Error 对象作为参数传递到这个函数。
domain.enter()
进入一个异步调用的上下文,绑定到domain。
domain.exit()
退出当前的domain,切换到不同的链的异步调用的上下文中。对应domain.enter()。
domain.dispose()
释放一个domain对象,让node进程回收这部分资源。
domain.create()
返回一个domain对象。