Javascript 如何回调函数?

Javascript 如何回调函数?,javascript,node.js,Javascript,Node.js,我有这个简单的代码 myobj.job('first', function (one, two){ console.log("First"); }); myobj.job('second', function (one, two){ console.log("Second"); }); 现在的问题是: myobj如何根据发生的事件(“第一次”或“第二次”)调用其中一个 谢谢有人叫它 下面是一个示例实现--节点和事件发射器答案: 您可能会在将来为事件发射器/侦听器寻找更多

我有这个简单的代码

myobj.job('first', function (one, two){

   console.log("First");

});

myobj.job('second', function (one, two){

   console.log("Second");

});
现在的问题是:

myobj如何根据发生的事件(“第一次”或“第二次”)调用其中一个

谢谢

有人叫它


下面是一个示例实现--

节点和事件发射器答案:


您可能会在将来为事件发射器/侦听器寻找更多功能,因此您可以查看一些现成的模块:

事件发射器2

特征
  • 的命名空间事件通配符
  • 名称空间侦听时间(TTL)
  • 扩展once概念浏览器
  • 环境兼容性是否良好
  • 更好的排放和排放性能
  • 侦听器注册为Node.js core
  • 小一些
  • EventEmitter2.js(2.2K缩小版)与
  • events.js(缩小了2.7K)
Hook.io

hook.io创建一个分布式node.js EventEmitter,它可以跨进程/跨平台/跨浏览器工作

您可以通过从大量无缝协作的小型、独立、自治的“挂钩”库中进行挑选来创建自定义i/o场景



请看一下这些事件的源代码,它将为您提供一个如何很好地处理事件的好方法。

太模糊了。试着重新表述一下。@Raynos我的意思是如何创建自定义事件并在它们发生时调用它们。太好了!这就是我一直在寻找的。。。。还有一个问题,我能做点什么吗。。。。myobj.job('first').other()?如何更改代码以同时接受此语法?
function myobj()
{
   // constructor
}

util.inherits(myobj, process.EventEmitter)

myobj.prototype.hereComesEvent1 = function()
{
   // do stuff
   // ..
   // fire event
   this.emit('first', 1, 2);
}

myobj.prototype.hereComesEvent2 = function()
{
   // do stuff
   // ..
   // fire event
   this.emit('second', 'one', 'two');
}


// test myobj

var mo = new myobj();
mo.on('first', function(a, b) {
   console.log([a, b]);
});
mo.on('second', function(a, b) {
   console.log([a, b]);
});

mo.hereComesEvent1();
mo.hereComesEvent2();