Tra*_*vis 1 javascript node.js socket.io
我正在尝试使用自定义对象的方法来发送到套接字连接。该对象是在套接字连接外部定义的,但随后在其内部实例化。代码和错误如下。
...
io.sockets.on('connection', function (socket) {
report = new Report();
socket.on('dataChange', function(newData) {
report.update(newData);
});
});
function Report () {
this.update = function (data) {
socket.emit('updateReport', { data: data });
}
}
Run Code Online (Sandbox Code Playgroud)
节点给我以下错误。
socket.emit('updateReport', { 数据: 数据 });
^ReferenceError:套接字未定义
你可以这样socket传递:Report
io.sockets.on('connection', function (socket) {
report = new Report(socket);
socket.on('dataChange', function(newData) {
report.update(newData);
});
});
function Report (socket) {
this.update = function (data) {
socket.emit('updateReport', { data: data });
}
}
Run Code Online (Sandbox Code Playgroud)
这样,socket就可以在Report.
但是,您用作连接处理程序的非report本地变量。您确定没有跨连接覆盖吗?看来您更希望每个连接都有一个报告。在这种情况下,请添加到作业之前。reportvarreport
| 归档时间: |
|
| 查看次数: |
2236 次 |
| 最近记录: |