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