请解释一下这两种说法的区别。哪个调用函数'connect'。connect 是用户定义的函数。
`peer.on('connection', connect);`
和
f.on('open', function() {
connect(f);
});
请解释一下这两种说法的区别。哪个调用函数'connect'。connect 是用户定义的函数。
`peer.on('connection', connect);`
和
f.on('open', function() {
connect(f);
});
两者都会connect
在事件发生时调用。主要区别在于,第一个参数由事件子系统设置,因为它由管理事件的任何对象直接调用。如果你的函数要么不使用任何参数,要么它的参数与事件系统传递的完全匹配,那么第一个可以正常工作。
在第二个中,您控制发送到的参数,connect(f)
以便您可以根据需要制作任何参数。因此,如果您想自己控制参数,那么第二个代码块为您提供了该选项。
除了使用命名函数作为回调的示例一和使用匿名函数作为回调的第二个示例之外,实际上并没有太大区别。如果您需要重用命名回调,或者您只想更好地控制回调的组织,命名回调非常有用。
无论哪种方式,函数都将在“on”执行完成后调用。
有关回调的更多信息,请查看http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/