[英]How to emit object using socket.io?
我有類似的代碼,我在發送響應時遇到問題。
socket.on('findUserMessages', (userName) => {
io.sockets.connected[socket.id].emit('Checking-message', {
type: 'ss',
text: bot,
user: 'bot'
});
var dupa = db.chat.find({ user: userName }, function(err, docs) {
userName = userName
if (err) throw err;
console.log('load old messages', docs)
})
io.emit('private message', dupa);
})
我的節點控制台輸出就像
[ { _id: 5888bdd6cef7952e38821f35,
text: 'O rajciu rajciu',
user: 'Adam',
time: 2017-01-25T15:01:42.733Z }]
我知道輸出不是JSON字符串,如何解決? 我試圖使用.toArray()但沒有成功。
這可能是一個愚蠢的問題,但我堅持了很長時間。
在發出結果之前將其轉換為json。 嘗試發出JSON.stringify(dupa)
。
編輯您的輸出實際上已經是JSON(JSON數組),因此,如果您只想在客戶端獲取JSON字符串,請將您的輸出轉換為在那里的字符串(在客戶端接收到emit事件時, JSON.strigify(result)
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.