从另一个方法存根(客户端代码)调用一个方法(服务器代码)
Calling a method (server code) from another's method stub (client code)
出于性能原因,我想从另一个方法存根(仅客户端代码)调用Meteor方法,但我希望被调用的方法也在服务器端运行
似乎下面的methodBar
只在客户端运行。这是故意的吗?有别的办法吗?
const methodFoo = new ValidatedMethod({
// name, validate not important
run() {
// ...some common code here server&client...
if (Meteor.isClient) {
// ...several rather expensive mongo queries, must be client-only...
if (miniMongoResultsSaySo) Meteor.call('methodBar');
}
}
});
Meteor在方法中分离客户端和服务器方面似乎真的很固执!
我可以使methodFoo
通过Tracker依赖项调用methodBar
的意识松散。用火打火,用流星打流星:)
const barNeedsToRun = new Tracker.Dependency;
if (Meteor.isClient) {
Tracker.autorun((computation) => {
barNeedsToRun.depend();
if (!computation.firstRun) methodBar.call();
}
}
然后在methodFoo
中,我将Meteor.call
改为barNeedsToRun.changed()
相关文章:
- 有没有一种方法可以通过只引用JavaScript来执行代码
- 从window.onbeforeunload调用方法背后的代码
- 是否有一种方法可以使用公共代码库在Java和JavaScript中进行输入验证
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 我需要把createUser代码放在流星方法中吗
- 在 Javascript 中实现解耦代码/回调的正确方法是什么?
- 如何在jQuery.CSS()方法中为所有浏览器编写CSS代码
- 角度方法返回未绘制的代码
- 使用ScriptManager.RegisterStartupScript从代码隐藏调用javascript方法
- 崇高的jslint:任何忽略特定代码段的方法
- 有没有更好的方法来编写这个Show/hide JQuery代码
- 在我的代码中管理大量硬编码数据的最佳方法
- 需要减少用于获取日期格式的javascript方法代码
- 通过找到一种删除许多 if 语句的方法来简化代码
- 使用each()方法来动画化代码类型
- 我可以替换“;获取“;方法用“;POST”;代码库中的任何位置
- AngularJS控制器之间共享代码/方法/功能
- 如何确定字符串是否为代码方法
- 使用razor在javascript中调用带有参数的c#代码方法
- 如何从javascript调用服务器端类代码方法