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 相关文章推荐
JS网络游戏-(模拟城市webgame)提供的一些例子下载
Oct 14 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
jquery实现公告翻滚效果
Feb 27 Javascript
轻松学习Javascript闭包函数
Dec 15 Javascript
jQuery遮罩层效果实例分析
Jan 14 Javascript
详解vue过滤器在v2.0版本用法
Jun 01 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
如何在微信小程序里面退出小程序的方法
Apr 28 Javascript
微信小程序实现判断是分享到群还是个人功能示例
May 03 Javascript
JS图片懒加载技术实现过程解析
Jul 27 Javascript
Openlayers绘制聚合标注
Sep 28 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
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
javascript中的几个运算符
2007/06/29 Javascript
javascript数组使用调用方法汇总
2007/12/08 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
node创建Vue项目步骤详解
2020/03/06 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
深入解析Python中的descriptor描述器的作用及用法
2016/06/27 Python
Django与JS交互的示例代码
2017/08/23 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
c/c++某大公司的两道笔试题
2014/02/02 面试题
留学推荐信写作指南
2014/01/25 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
给朋友的道歉短信
2015/05/12 职场文书
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python