对于简单的客户端到服务器Meteor方法调用,我有时会发现额外的抽象是一种烦恼。是否可以内联定义服务器方法?例如,我想替换它:
// server.js
Server.methods({ foo: console.log('bar') })
// client.js
Meteor.call('foo')
有了这个:
client.js
Meteor.call(() => console.log('bar'))
根据文档,这是不可能的,因为call
需要一个名字。
答案 0 :(得分:5)
您无法仅在客户端上定义方法。方法在服务器上定义。
https://docs.meteor.com/api/methods.html#Meteor-methods
服务器上的调用方法定义了客户端可以远程调用的函数。
在客户端上定义方法(在服务器上定义时)用于方法(UI)模拟。
客户端上的调用方法定义了与同名服务器方法相关联的存根函数...
Meteor开发小组开发了一个很好的软件包来处理方法: https://github.com/meteor/validated-method