我在我的应用程序(https://github.com/voodootikigod/node-serialport)中使用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. " +


提前致谢 !

最佳答案

谢谢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;
  }
});

关于javascript - 用 meteor 保存串口列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29486983/

10-12 13:33