我可以在socket.io“socket.on(eventName,callback)”中使用返回的promise吗?

时间:2017-06-08 10:18:42

标签: javascript node.js socket.io promise

我可以在socket.io“socket.on”中使用返回的promise吗?如下面的代码。

    socket.on('news', function (data) {
      return News.findOne({id: data.id})
        .then((news) => {
          socket.emit('event', data.body);
          return news;
        })
    });

1 个答案:

答案 0 :(得分:1)

在代码的socket.io服务器端,您可以使用节点模块“node-mongodb-native”,它在documentation section中向您展示如何将内容保存到您的mongoDB实例中:

var MongoClient = require('mongodb').MongoClient, assert = require('assert');

// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Use connect method to connect to the Server
MongoClient.connect(url, function(err, db) {
  assert.equal(null, err);
  console.log("Connected correctly to server");

  // Insert a single document
  db.collection('inserts').insertOne({a:1}, function(err, r) {
    assert.equal(null, err);
    assert.equal(1, r.insertedCount);

    // Insert multiple documents
    db.collection('inserts').insertMany([{a:2}, {a:3}], function(err, r) {
      assert.equal(null, err);
      assert.equal(2, r.insertedCount);

      db.close();
    });
  });
});