socket io 监听一个事件后,进行了相关处理后得到数据,数据再广播出去
发布于 6 年前 作者 quanpf2481 2534 次浏览 来自 问答

在node js里面,利用socket io监听一个查询事件,然后操作数据库,进行相关查询,再将查询的结果在监听事件里广播出去,查询的操作是调用其他模块进行的,怎么样才能在查询的模块完成后将数据返回给监听事件呢???

4 回复
 socket.on('example',  ( )=> {
          // do something
            socket.emit('example', message);
        });

没看明白问题, 是要返回给发送查询事件的端吗?

@yinxin630是啊,将查询的结果返回给查询端。

@quanpf2481 socket.io有回调的

var io = require('socket.io')(8090);

io.on('connection', function (socket) {
  console.log('connected')
  socket.on('ferret', function (name, fn) {
    console.log('ferret')
    fn('woot');
  });
});

const ioClient = require('socket.io-client');
var client = ioClient.connect('http://localhost:8090');
client.emit('ferret', 'tobu', (ack) => {
  console.log('ack', ack) // ack === 'woot'
});
回到顶部