在浏览器控制台上返回[Object Object]时的套接字

时间:2018-02-09 13:01:02

标签: javascript node.js sockets socket.io

这是我目前的代码

function resolveAfter1() {
  return new Promise((resolve, reject) => {
    var scoresFromDb = db.account.find({}, { username: 1, score: 1 }).toArray(function(err, result) {
          if (err) 
              reject(err);
          else
              resolve(result);
    });
  });
}

resolveAfter1() // resolve function
    .then((result)=>{console.log(result);})
    .catch((error)=>{console.log(error);})

    async function asyncCall() {
      var result = await resolveAfter1();
      // console.log(result);
    }

当我执行套接字发出时,我得到[object Object]而不是值,这是我在服务器上的Emit

socket.emit('allScores', asyncCall());

然后这是我在客户端HTML上的socket.on

socket.on('allScores', function(data){
    console.log(data);
})

我在Chrome控制台中得到的答案就是这个

{}

任何人都可以告诉我为什么它不会像这样显示asyncCall()吗?这是我在服务器中得到的完美,但是当我发出并接收到套接字时,我不明白这个?

[ { _id: 5a7c6552380e0a299fa752d3, username: 'test', score: 44 } ] 

0 个答案:

没有答案