事件处理异步操作。从可互换的意义上来说,它们与函数并没有真正的相关性。
eventEmitter.on
本身是一个函数,它需要两个参数:事件名称,然后是事件发生时要执行的函数(回调)。
eventEmitter.on(evt, callback)
没有办法告诉何时将发出事件,因此您提供了一个在事件发生时执行的回调。
在您的示例中,您控制事件的触发时间,这与现实世界的使用不同,在现实世界中您可能有一个服务器侦听可以随时连接的连接。
server.listen('9000', function(){
console.log('Server started');
});
server.on('connection', function(client){
console.log('New client connected');
doSomethingWithClient(client);
});
//series of synchronous events
function doSomethingWithClient(client){
//something with client
}
For server.listen
服务器不会立即启动,一旦准备好就会调用回调
server.on('connection')
监听客户端连接,它们可以随时到来。然后,当发生连接时会触发该事件,从而导致运行回调。
然后有doSomethingWithClient
这只是一个在客户端连接发生时执行一组同步操作的函数。