簡體   English   中英

如何使用socket.io發出對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM