怎么使用Node.js的内置模块event实现发布订阅模式


这篇文章主要介绍了怎么使用Node.js的内置模块event实现发布订阅模式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Node.js的内置模块event实现发布订阅模式文章都会有所收获,下面我们一起来看看吧。引入event内置模块创建event对象event内置模块本质是一个构造函数,我们需要通过new操作符去调用它监听事件使用event对象上的on函数来定义一个监听事件,语法为:event.on(事件名,事件处理函数)触发事件使用event对象上的emit函数来触发监听的事件,语法为:event.emit(需要触发的事件名,需要给事件处理函数传递的参数)完整代码运行结果:❗️ 事件重复监听的问题==注意:当同一事件被监听多次时,触发事件时会同时触发这个事件的所有事件处理函数==Node.js | 搭建后端服务器(含内置模块 http | url | querystring 的使用)中有一个使用node模拟get请求(转发跨域数据)的案例:注意上面代码的第19行和第49行:这个例子中,我们是通过在httpget函数中传入一个回调函数来接收httpget函数获取到的数据,这种写法实际是没有问题的免费云主机域名,在开发中也常常进行使用。但在一些情况下,特别是函数多层嵌套调用时(如下面的例子),这种写法就显得不够优雅,因为它的代码结构不是很清晰,不能很直观的看懂其逻辑:让我们使用内置模块event去改造一下上面node模拟get请求(转发跨域数据)的案例:运行并调用/api/maoyan接口:接口正常使用注意上边代码new EventEmitter()的位置,如果new EventEmitter()是在外部的话,相当于是只有一个全局的event对象,当我们每次调用/api/maoyan接口时,node都会监听一个新的resEnd事件,这就会导致resEnd事件被重复监听:所以我们才需要将创建event对象的代码new EventEmitter()写到接口的case分支里,这样当我们调用这个接口时,会创建一个新的event对象,老的event对象被弃用会被JS垃圾处理机制给处理掉,这样就不会出现resEnd事件被重复监听的问题关于“怎么使用Node.js的内置模块event实现发布订阅模式”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“怎么使用Node.js的内置模块event实现发布订阅模式”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: jquery链式编程指的是什么

本篇内容介绍了“jquery链式编程指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 在jquery中,链式编程指的是对同一个元素一直进行函数操作;链式…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/02 21:53
下一篇 04/02 21:53

相关推荐