问题标签 [emit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
323 浏览

c# - 复制 / Reflection.Emit'ting 静态数组

我正在尝试将静态初始化程序从一个 DLL 复制到另一个。

如果你在 C# 中有一个静态数组初始值设定项,你会得到如下内容:

我找到了读取这些数据的最简单方法来使用它:

基本上这会给你上面提到的“二进制数据”。

问题1Dictionary : 's会发生什么?这仍然有效吗?我很难弄清楚这里到底发生了什么(它似乎被反编译隐藏了)......

我已经发现在实现细节中使用的 GUID 是ModuleBuilder. 使用其他显式字段信息意味着您应该能够复制数据。

问题 2:如何将数据写回另一个ModuleBuilder/FieldBuilder使用 Reflection.Emit?

--

版本?.NET 4.5(VS2013 默认)

似乎对Dictionary弹出的 's 感到困惑。我在我的代码中进行了一些挖掘,它们似乎作为 [string->int] 字典弹出,用于解析 switch/case 语句。

例如,可以在 mscorlib.dll v4.0.30319.18444 中找到它们。在 Reflector 中,它们看起来像这样:

至于原因:我在对它们执行一些测试之前更改了 DLL。具有讽刺意味的是,我想要这个的原因是因为我不想弄乱实现细节:-) 并且因为多个实例可能会带来麻烦。

换句话说,我基本上只想将它们全部复制“就好像它们是二进制 blob”,如果它们有这样的花哨数据,不管类型等如何,同时保留名称。由于 IL 和数据在不同的 DLL 中以相同的方式处理,因此无论编译器恕我直言,这总是可能的,对吧?

0 投票
2 回答
5647 浏览

node.js - 如何在猫鼬中间件中发出事件?

我想在保存新博客时发出事件

在我项目的其他地方说 app.js 可以监听这个事件

这个怎么做?

0 投票
1 回答
60 浏览

java - reduce 阶段的输入不是我在 Hadoop (Java) 中所期望的

我正在使用 MapReduce 在 Hadoop 中开发一个非常简单的图形分析工具。我有一个如下图(每行代表和边缘 - 事实上,这是一个三角形图):

现在,我想使用 MapReduce 来计算该图中的三角形(显然是一个)。它仍在进行中,在第一阶段,我尝试获取每个顶点的所有邻居列表。

我的主要课程如下所示:

我的 Mapper 和 Reducer 实现看起来像这样,它们都很简单:

我在程序中添加了一些日志记录。在映射阶段,我打印出我正在发射的对。在 reduce 阶段,我打印 reduce 的输入。我得到以下输出:

reduce 函数的输入不是我所期望的。我希望它是 [1, 2] 而不是 [1, 1]。我相信 Hadoop 会自动组合我从 map 阶段的输出中发出的所有对,但我在这里遗漏了什么吗?任何帮助或解释将不胜感激。

0 投票
0 回答
369 浏览

javascript - 从服务器向客户端发送事件,然后断开套接字(从服务器)

我想在 Socket.io 中将事件发送回客户端,然后立即断开客户端。问题是调用 socket.emit() 不会发出任何东西......你知道吗,或者陷入了这种问题?

我的代码是这样的: - 在服务器上:

在客户端:

谢谢!

0 投票
1 回答
1087 浏览

node.js - 仅当前用户的 socket.emit 事件不会触发

我正在使用socket.io ,当我想仅为连接的用户从服务器向客户端发出事件时,它不起作用!

我没有错误或任何回应:(

那是我的代码

如果我更改socket.emit('SocketIO.login', user);withsocket.broadcast.emit('SocketIO.login', user);以将此事件发送给所有其他连接的用户,它就可以工作

如果我更改socket.emit('SocketIO.login', user);withio.emit('SocketIO.login', user);以将此事件发送给所有连接的用户,我将具有相同的行为socket.broadcast.emit('SocketIO.login', user);

当前用户窗口始终没有响应或错误!

0 投票
4 回答
6340 浏览

emit - 在一般计算机科学术语中,“发射”是什么意思?

我刚刚偶然发现了一个众所周知的compsci关键字“emit”。但是我在一般计算机科学术语中找不到任何明确的定义,也找不到任何特定编程语言中“emit()”函数或关键字的具体定义。

我在这里找到它,阅读 MapReduce:

https://en.wikipedia.org/wiki/MapReduce

我的额外搜索的上下文表明它与信号和/或事件有关。但似乎只是假设读者会知道“发射”是什么以及做什么。例如,这篇关于 MapReduce 模式的文章:

https://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/

没有提到“emit”实际上在做什么,只有调用它。但是,它必须不同于其他形式的返回数据,例如“return”或简单的“printf”或等效的,否则对“emit”的调用将是对“return”的调用。

进一步搜索,我发现很多次在 MapReduce 的上下文中出现了一些“emit”的伪代码形式。在 Node.js 中。在 Qt 中。但仅此而已。

背景:我是(主要是)自学成才的网络程序员和系统管理员。我确定 compsci 101(或 201?)中涵盖了这个问题,但我没有参加那门课程。

0 投票
0 回答
56 浏览

c# - 如何使用 IL (C#) 实现浅拷贝?

我想用 C# IL 实现一个浅拷贝,而不是直接反射。

• ShallowCopy 版本直接反射:

• 我当前的 IL 版本代码是:

我只知道如何构造一个实例,但我不知道如何复制他人的字段或属性。

有人可以帮我吗?

如果你能帮助我,真的很感激?

0 投票
1 回答
460 浏览

arduino - Johnny-Five 多个 Arduino 连接,但未发出“就绪”

我对 johnny-5 (Multiple Boards) 有点困难;任何人都可以为我解释一下吗?

我连接了 2 个 Arduino,我可以使用“var board = new Five.Board()”单独访问它们。

我可以通过 Cylon.js 成功连接和使用它们。

但是,当我尝试使用“new Five.Boards()”时,它似乎永远不会发出“就绪”事件,因此我可以开始编写我的逻辑。

使用(稍作修改)johnny-5/eg/boards-multi.js

我的控制台显示:

......我永远等待,它永远不会发出“准备好”......

注1:我已经在他们两个上重新上传了几次最新的“StandardFirmata”;他们自己工作得很好。

注意 2:我在 3 个不同的系统(一个 ubuntu linux,一个在 Windows 和一个 Raspberry PI 2B)上尝试了完全相同的设置,所有系统都存在相同的问题......

我不确定我是否在这里遗漏了一些愚蠢的东西;但是,无论我尝试什么,johnny-5 都不允许我继续。正如我上面提到的,它似乎与 Cylon 完美配合 - 但是,我宁愿使用 j5,因为我已经有相当多的代码我不想移植到 Cylon 只是为了连接多个Arduino到我的系统。

任何帮助将不胜感激!

更新#1:

我越来越近了我现在可以处理每个 Arduino 板了。然而; 我仍然对如何正确捕捉“就绪”事件感到困惑。

这最终得到以下控制台输出:

....此时,我可以执行以下操作来处理板(当然在 setTimeout() 内):

仍在试图确定为什么我无法捕捉到难以捉摸的“准备就绪”。

更新#2:

看来我想通了。它实际上已经准备好了,但是我没有正确使用 API。

工作代码:

更新#3:

我想我在库中发现了一个错误。

似乎以下文件:

node_modules/johnny-5/lib/board.js

线路:1109

如果你改变:

它似乎发出“就绪”事件。

0 投票
3 回答
62643 浏览

javascript - 什么是`emit` javascript函数?

在查看sax nodejs 模块时,我看到了多个emit函数调用,但我找不到任何关于它的信息。

它是一些用于发射事件的 V8 原生工具吗?那么为什么sax-js不对流使用 EventEmitter 呢?

0 投票
2 回答
1419 浏览

javascript - 发射事件不触发

我的发射事件只是不想触发。我是 nodejs 的新手,很抱歉犯了愚蠢的错误,但我无法解决几个小时。

客户端模块

应用程序.js