Node.js Domain 模块实例详解


Posted in Javascript onMarch 18, 2020

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 模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
解决jquery的.animate()函数在IE6下的问题
Dec 03 Javascript
JS 页面计时器示例代码
Oct 28 Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 Javascript
javascript获取元素离文档各边距离的方法
Feb 13 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
Mar 03 Javascript
angularjs表格ng-table使用备忘录
Mar 09 Javascript
详解JavaScript中基于原型prototype的继承特性
May 05 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
angular+ionic返回上一页并刷新页面
Aug 08 Javascript
js 数组详细操作方法及解析合集
Jun 01 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
vue源码中的检测方法的实现
Sep 26 Javascript
js判断密码强度的方法
Mar 18 #Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 #Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 #Javascript
JavaScript正则表达式验证登录实例
Mar 18 #Javascript
JS正则表达式验证密码强度
Mar 18 #Javascript
原生js实现密码强度验证功能
Mar 18 #Javascript
JavaScript实现密码强度实时验证
Mar 18 #Javascript
You might like
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
script标签属性用type还是language
2015/01/21 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
详解React中setState回调函数
2018/06/14 Javascript
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
vue全局使用axios的方法实例详解
2018/11/22 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
python实现三次样条插值
2018/12/17 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
python enumerate内置函数用法总结
2020/01/07 Python
基于python实现模拟数据结构模型
2020/06/12 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
UNIX文件系统常用命令
2012/05/25 面试题
村委会贫困证明
2014/01/14 职场文书
经典广告词大全
2014/03/14 职场文书
人事任命书怎么写
2014/06/05 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
新闻稿格式范文
2015/07/18 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书