使用meteor保存serialport列表

时间:2015-04-07 08:20:19

标签: javascript meteor node-serialport

我在我的应用中使用了serialport包(https://github.com/voodootikigod/node-serialport)。 这段代码在服务器上工作正常:

Meteor.startup(function () {
  SerialPort = Meteor.npmRequire('serialport');
});


Meteor.methods({
  serialPortsRefresh: function () {

    SerialPort.list(function (err, ports) {


      ports.forEach(function(port) {
        console.log(port.comName);
      }); 
// Config.insert(ports);
      return ports;
    });  

  }
});

现在我想将此列表保存在集合中以将其公开给客户端。 什么是最好的解决方案?

当我取消注释Config.insert(ports)时;我有错误:

throw new Error("Meteor code must always run within a Fiber. " +  

提前致谢!

1 个答案:

答案 0 :(得分:1)

谢谢Eliezer! 现在这是我的代码(对我来说不是那么容易!):

Meteor.startup(function () {
  SerialPort = Meteor.npmRequire('serialport');
  listSerialPorts = function(callback) {
    SerialPort.list(function (err, ports) {
      callback(null, ports);
    });  
  }
});


Meteor.methods({
  serialPortsRefresh: function () {
    var ports = Meteor.wrapAsync(listSerialPorts);
    var result = ports();
    debugger;
  }
});