socket io 监听一个事件后,进行了相关处理后得到数据,数据再广播出去

尼古拉斯
  • 70

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

回复
阅读 1.2k
1 个回答

按照道理是在事件内部调用你的查询方法,一般此方法是异步的,你可以传入回调函数,来通知事件继续广播

socket.on('xx', function() {
    getDb(function(db) {
       socket.brocast('xxx', db) //抱歉,广播单词不会拼 
    })
})

//getDb

function getDb(fn) {
    // 查询操作
    fn(err, db)
}
宣传栏