客户端从服务器方法接收数据

Receiving data from server method on client

我有以下 Meteor 方法,它使用 color-namer npm 包从十六进制值中查找颜色名称。

colorName: function (options) {
  var Namer = Meteor.npmRequire('color-namer');
  var name = Namer(options.color);
  var color = name.basic[0].name;
  return color;
}

在客户端,我有一个带有颜色选择器的表单,它将所有选项保存在选项对象中。颜色值保存为options.color.

我这样调用我的方法:

Meteor.call( 'colorName', options.color);

提交表单时,我想从服务器方法中获取返回的颜色,然后重写 options.color 值。

具体来说,我的想法是使用 options.color = color,但从服务器返回的颜色在客户端似乎无法访问。

我不确定如何访问在服务器而非客户端上创建的这个 var color 值。也许我以错误的方式思考问题,使用了错误的方法和正确的工具。

您可能还没有意识到您需要在客户端上使用回调函数,以便接收方法的结果:

Meteor.call( 'colorName', options.color, function(err, result) {
   if (!err) {
       // result is "color" on the server, do what you want with it
   } 
});