我正在尝试使用http://socket.io/#how-to-use“发送和获取数据(确认)”中定义的socket.io的确认。
我的客户端代码看起来像
sio.emit('ferret', 'tobi', function (data) {
console.log(data);
});
我的服务器代码是:
socket.on('ferret', function (name, fn) {
fn('woot');
});
但是我收到的错误是我的节点服务器崩溃了:
fn('woot');
23:13:48 web.1 | ^
23:13:48 web.1 | TypeError: undefined is not a function
我发现这很奇怪,因为如果我添加:
console.log(name);
console.log(fn);
,名称将记录Tobi,但是因为fn记录未定义的原因。
任何信息都会很棒!
答案 0 :(得分:0)
如果有人遇到此问题,请确保在客户端上,发射具有作为最后一个参数的确认功能。如果您编写服务器端代码并再次重新启动服务器,除非您用新代码刷新了客户端页面,否则它将产生错误。尽管我已经在客户端和服务器上都编写了代码,但是由于没有刷新客户端页面,所以我一直在服务器上收到错误消息。