在方法 meteor 中将值服务器传递给客户端

passing value server to client in method meteor

客户端代码

Template.hello.events({
 "click": function () {
  Meteor.call('Message',function(result){
  alert(result);
 });

服务器端方法调用

if (Meteor.isServer) {

Meteor.methods({
 'Message':function(){
 SerialPort.list(function (err, ports) {

 ports.forEach(function(port) {
 console.log(port.comName);  
  var atxt =  port.comName;
  return atxt ;
 });//ports end
 });  //list end
 }   //message end
 }); //method end
 }   //server end

上面的程序'undefined' 在客户端打印警告框。 return atxt 未 return 编辑任何值。请帮助我 meteor 应用传递服务器端 return 值访问客户端!

当 Meteor server side 方法 returns 一些数据时,客户端需要通过回调获取 asynchronously 。在那个回调中,需要有两个参数,error and result。基本上第二个参数是你的结果,第一个是 error (如果有的话)。因此,您需要相应地更新您的客户端代码。除了从服务器端返回之前,只需console.log你的数据,这样你就可以确定结果。

Meteor.call('Message',function(err,result){
    if(!err) {
        alert(result);
    } else {console.log(err);}
});