首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Node.js中-事件(EventEmitter和侦听器函数对象)和异步回调之间是否存在任何关系

在Node.js中-事件(EventEmitter和侦听器函数对象)和异步回调之间是否存在任何关系
EN

Stack Overflow用户
提问于 2017-04-12 04:32:33
回答 1查看 281关注 0票数 1

我知道Node.js核心应用程序接口现在是围绕惯用的异步事件驱动架构构建的,我猜这意味着每次调用异步函数时,它都会将该函数注册到某个独立的异步队列中,该队列在幕后由Libuv线程处理。并且在主程序线程中继续执行到下一行。现在,当asyc函数完成执行时,它是“发出”一些事件,还是只是将回调注册到事件队列中,最终将被事件循环拾取?基本上,我有点困惑于理解一般的“事件”和异步回调(如果它们也被称为一些事件)的概念有多不同。

EN

回答 1

Stack Overflow用户

发布于 2017-04-12 05:50:08

据我所知,它与addListener没有什么不同。这里有一些关于该事件的文档:http://nodejs.org/docs/latest/api/events.html#emitter.on on和addListener都在同一标题下。它们具有相同的效果;

代码语言:javascript
运行
AI代码解释
复制
server.on('connection', function(stream) {
    console.log('someone connected!');
});

server.addListener('connection', function(stream) {
    console.log('someone connected!');
});

.on()与EventEmitter对象中的.addListener()完全相同。

直接从这里的EventEmitter源代码:https://github.com/nodejs/node-v0.x-archive/blob/master/lib/events.js#L188

代码语言:javascript
运行
AI代码解释
复制
EventEmitter.prototype.on = EventEmitter.prototype.addListener;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43360357

复制
相关文章
Node.js 回调函数和事件循环
1. node.js 回调函数 node.js 的异步编程思想最直接的体现就是回调,在node中大量使用了回调函数,所有的API都支持回调函数,回调函数一般作为最后一个参数出现,正因为这样node在执行代码的时候就没有阻塞或者等待的操作,提高了node的性能,可以处理大量的并发请求。 function f1(name, age, callback){} function f2(name, callback, callback2){} 阻塞代码实例 创建一个文件input.txt内容如下: 这是一个阻
执行上下文
2022/07/26
3.1K0
Node.js 回调函数和事件循环
Node.js基础 23456:全局对象,回调函数,模块,事件,读写文件(同步,异步)
类似的,在浏览器中有window 全局变量在所有模块中都可使用。不需要引用等。 全局变量 如console,setTimeout,require()等
代码之风
2019/03/20
1.7K0
Node.js基础 23456:全局对象,回调函数,模块,事件,读写文件(同步,异步)
基于Guava API实现异步通知和事件回调
当小伙伴们在社区提问时,如果有设置指定用户回答,则对应的用户就会收到邮件通知,这就是观察者模式的一种应用场景。有些小伙伴可能会想到MQ、异步队列等,其实JDK本身就提供这样的API。我们用代码来还原这样一个应用场景,首先创建GPer类。
Tom弹架构
2021/11/17
6800
基于Guava API实现异步通知和事件回调
当小伙伴们在社区提问时,如果有设置指定用户回答,则对应的用户就会收到邮件通知,这就是观察者模式的一种应用场景。有些小伙伴可能会想到MQ、异步队列等,其实JDK本身就提供这样的API。我们用代码来还原这样一个应用场景,首先创建GPer类。
Tom弹架构
2021/12/21
7200
基于Guava API实现异步通知和事件回调
Node.js 的 EventEmitter 事件处理详解
在本教程中我们学习 Node.js 的原生 EvenEmitter 类。学完后你将了解事件、怎样使用 EvenEmitter 以及如何在程序中利用事件。另外还会学习 EventEmitter 类从其他本地模块扩展的内容,并通过一些例子了解背后的原理。
疯狂的技术宅
2020/11/03
1.7K0
​29 - 回调函数和回调地狱
原文地址:https://dev.to/bhagatparwinder/callback-functions-callback-hell-79n
前端黑板报
2022/12/01
4.7K0
如果面试官让你讲讲发布订阅设计模式?
有小伙伴问,该如何学习设计模式,设计模式本身是一些问题场景的抽象解决方案,死记硬背肯定不行,无异于搭建空中楼阁,所以得结合实际,从解决问题角度去思考、举一反三,如此便能更轻松掌握知识点。
小东同学
2022/07/29
2.7K0
如果面试官让你讲讲发布订阅设计模式?
关于NodeJS工作原理的五个误解
NodeJS 诞生于 2009 年,由于它使用了 JavaScript,在这些年里获得了非常广泛的流行。它是一个用于编写服务器端应用程序的 JavaScript 运行时,但是 "它就是JavaScript" 这句话并不是 100% 正确的。
ConardLi
2020/04/01
1.6K0
JavaScript 异步编程指南 — 事件与回调函数 Callback
这是一个系列文章,你可以关注公众号「五月君」订阅话题《JavaScript 异步编程指南》获取最新信息。
一只图雀
2021/06/17
2.4K0
JavaScript 异步编程指南 — 事件与回调函数 Callback
【Node.js】1430- 15 个常见的 Node.js 面试问题及答案
临阵磨枪,不快也光。对于成功的编程面试来说,准备和知识面一样重要。准备使你有信心参加面试,而不用担心莫名的紧张情绪。如果第一次参加编程面试,这一点尤其重要。
pingan8787
2022/11/15
1.8K0
【Node.js】1430- 15 个常见的 Node.js 面试问题及答案
15 个常见的 Node.js 面试问题及答案
临阵磨枪,不快也光。对于成功的编程面试来说,准备和知识面一样重要。准备使你有信心参加面试,而不用担心莫名的紧张情绪。如果第一次参加编程面试,这一点尤其重要。
coder_koala
2021/03/09
1.8K0
PHP中的回调函数和匿名函数
枕边书
2018/01/04
3.2K0
Node.js 回调函数
回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。
陈不成i
2021/07/09
3.8K0
Node.js 知名框架 Express Koa 都在使用的 Events 模块你了解吗?
在 Node.js 中一个很重要的模块 Events(EventEmitter 事件触发器),也称为发布/订阅模式,为什么说它重要,因为在 Node.js 中绝大多数模块都依赖于此,例如 Net、HTTP、FS、Stream 等,除了这些系统模块比较知名的 Express、Koa 框架中也能看到 EventEmitter 的踪迹。
五月君
2019/11/06
2.1K0
【node不完全指西】EventEmitter (事件发布/订阅模式)解析
因为过多的侦听器占用大量内存,导致内存泄漏,所以侦听器的个数一般不会超过10个,否则会有warnning警告⚠️ 接下来是一些默认的设置
super.x
2019/04/12
6930
nodejs的基础概念
多行表达式:这里指的是循环,与在 js 中做的循环是一致的。每输出一行回车就可以,node 会自动检测是否为连续多行表达式。
用户1134788
2022/05/09
9080
nodejs的基础概念
Nodejs学习笔记(二)--- 事件模块
简介及资料 http://nodejs.org/api/events.html http://www.infoq.com/cn/articles/tyq-nodejs-event events是node.js 最重要的模块,events模块只提供了一个对象events.EventEmitter,EventEmitter 的核心是事件发射与事件监听器。 Node.js中大部分的模块,都继承自Event模块。 与DOM树上事件不同,不存在事件冒泡、逐层捕获等行为。 EventEmitter 支持若干个事件监
Porschev
2018/01/16
1.2K0
Nodejs学习笔记(二)--- 事件模块
Node.js EventEmitter 和 Buffer
EventEmitter对象如果在实例化的时候发生错误,将会触发 error 事件。当添加新的监听器的时候,newListener事件会被触发,当该监听器被移除的时候,removeListener 将会被触发。
执行上下文
2022/07/26
1.5K0
开心档-软件开发入门教程网之Node.js 事件循环
Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。
爱学iOS的小麦子
2023/05/09
4270
开心档-软件开发入门教程网之Node.js 事件循环
Node.js 事件循环
Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。
陈不成i
2021/07/09
3.5K0

相似问题

事件侦听器回调函数是否进入回调队列?

310

node.js中的For循环和异步回调?

30

Node.js、快速路由、异步和回调/构建结果对象

12

Javascript异步函数和嵌套回调

14

Node.JS回调函数,侦听输入对象事件

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档