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)
请看一下这些事件的源代码,它将为您提供一个如何很好地处理事件的好方法。太模糊了。试着重新表述一下。@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();