Node.js Domain 模块实例详解

 更新时间:2020年03月18日 15:42:37   作者:麦叶  
这篇文章主要介绍了Node.js Domain 模块实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常。

Domain 模块可分为隐式绑定和显式绑定:

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

创建domain.js,代码如下:

var eventEmitter=require("events").EventEmitter;
var domain=require("domain");
var emitter1=new eventEmitter();
//创建域
var domain1=domain.create();
domain1.on("error",function(err){
  console.log("domain1来处理这个错误:"+err.message);
})
//显示绑定
domain1.add(emitter1);
//添加emitter1对error的监听
emitter1.on("error",function(err){
  console.log("emitter1来处理这个错误:"+err.message);
})
emitter1.emit("error",new Error("触发错误,指定由emitter1处理"));
emitter1.removeAllListeners("error");//移除emitter1对error的监听
emitter1.emit("error",new Error("触发错误,指定由domain1处理"));
//创建域
var domain2=domain.create();
domain2.on("error",function(err){
  console.log("domain2来处理这个错误:"+err.message);
})
//隐式绑定
domain2.run(function(){
  var emitter2=new eventEmitter();
  emitter2.emit("error",new Error("触发错误,指定由domain2处理"));
})
domain1.remove(emitter1);
emitter1.emit("error",new Error("触发错误,系统将崩溃"));

总结

到此这篇关于Node.js Domain 模块实例详解的文章就介绍到这了,更多相关node.js domain 模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nodejs探秘之深入理解单线程实现高并发原理

    Nodejs探秘之深入理解单线程实现高并发原理

    这篇文章主要介绍了Nodejs单线程实现高并发原理,对Node.js感兴趣的同学,可以参考下
    2021-04-04
  • 浅析node.js的模块加载机制

    浅析node.js的模块加载机制

    这篇文章主要介绍了浅析node.js的模块加载机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 使用C++为node.js写扩展模块

    使用C++为node.js写扩展模块

    本文给大家介绍的是在window7下使用C++来给node.js编写扩展模块的方法,附上一个简单的hello实例,有需要的小伙伴可以参考下。
    2015-04-04
  • Nodejs爬虫进阶教程之异步并发控制

    Nodejs爬虫进阶教程之异步并发控制

    这篇文章主要介绍了Nodejs爬虫进阶教程之异步并发控制的相关资料,需要的朋友可以参考下
    2016-02-02
  • nodejs前端模板引擎swig入门详解

    nodejs前端模板引擎swig入门详解

    这篇文章主要介绍了nodejs前端模板引擎swig入门详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 详解npm与package.json之间的联系

    详解npm与package.json之间的联系

    这篇文章主要为大家介绍了npm与package.json之间的联系图文示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 详解使用 Node.js 开发简单的脚手架工具

    详解使用 Node.js 开发简单的脚手架工具

    这篇文章主要介绍了详解使用 Node.js 开发简单的脚手架工具,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • nodejs超出最大的调用栈错误问题

    nodejs超出最大的调用栈错误问题

    这篇文章主要介绍了nodejs超出最大的调用栈错误问题,需要的朋友可以参考下
    2017-12-12
  • 详解HTTPS 的原理和 NodeJS 的实现

    详解HTTPS 的原理和 NodeJS 的实现

    这篇文章主要介绍了详解HTTPS 的原理和 NodeJS 的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 一文带你了解前端包管理工具npm、yarn和pnpm

    一文带你了解前端包管理工具npm、yarn和pnpm

    如果您是前端开发人员,您将接触到一些包管理工具,包管理工具是连续自动化程序的集合,例如安装、升级、配置和删除程序,下面这篇文章主要给大家介绍了关于前端包管理工具npm、yarn和pnpm的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论