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

时间:2015-09-01 03:08:02

标签: javascript meteor callback

我有以下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颜色值。也许我正在以错误的方式思考问题并采用错误的方法和正确的工具。

1 个答案:

答案 0 :(得分:1)

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

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