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 相关文章推荐
JavaScript自定义DateDiff函数(兼容所有浏览器)
Mar 01 Javascript
div模拟滚动条效果示例代码
Oct 16 Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
Apr 17 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
浅谈JS中String()与 .toString()的区别
Oct 20 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
Feb 10 Javascript
js编写简单的聊天室功能
Aug 17 Javascript
解决Vue不能检测数组或对象变动的问题
Feb 24 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
May 15 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 Javascript
JavaScript中10个Reduce常用场景技巧
Jun 21 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
php数组的概述及分类与声明代码演示
2013/02/26 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
layui文件上传实现代码
2017/05/20 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
小程序双头slider选择器的实现示例
2020/03/31 Javascript
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python重新加载模块的实现方法
2018/10/16 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
Clarks西班牙官方在线商店:clarks鞋
2019/05/03 全球购物
创业计划书撰写原则
2014/01/25 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
团代会开幕词
2015/01/28 职场文书
医院消毒隔离制度
2015/08/05 职场文书
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python
windows系统安装配置nginx环境
2022/06/28 Servers