在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ socket io 監(jiān)聽(tīng)一個(gè)事件后,進(jìn)行了相關(guān)處理后得到數(shù)據(jù),數(shù)據(jù)再?gòu)V播出去

socket io 監(jiān)聽(tīng)一個(gè)事件后,進(jìn)行了相關(guān)處理后得到數(shù)據(jù),數(shù)據(jù)再?gòu)V播出去

在node js里面,利用socket io監(jiān)聽(tīng)一個(gè)查詢(xún)事件,然后操作數(shù)據(jù)庫(kù),進(jìn)行相關(guān)查詢(xún),再將查詢(xún)的結(jié)果在監(jiān)聽(tīng)事件里廣播出去,查詢(xún)的操作是調(diào)用其他模塊進(jìn)行的,怎么樣才能在查詢(xún)的模塊完成后將數(shù)據(jù)返回給監(jiān)聽(tīng)事件呢???

回答
編輯回答
鐧簞噯

按照道理是在事件內(nèi)部調(diào)用你的查詢(xún)方法,一般此方法是異步的,你可以傳入回調(diào)函數(shù),來(lái)通知事件繼續(xù)廣播

socket.on('xx', function() {
    getDb(function(db) {
       socket.brocast('xxx', db) //抱歉,廣播單詞不會(huì)拼 
    })
})

//getDb

function getDb(fn) {
    // 查詢(xún)操作
    fn(err, db)
}
2017年1月12日 22:27