我正在使用流星开发一个简单的农业游戏后端。
因此服务器需要检查所有玩家场数据,并基于该数据进行检查
production:0
如果玩家有农场,则每秒一次。 最好的方法是什么?
我应该使用Meteor.setTimeout()
答案 0 :(得分:1)
如果您不想手动将光纤绑定到回调函数,则应使用Meteor.setTimeout。
相关问题:
What's going on with Meteor and Fibers/bindEnvironment()?
Meteor wrapAsync or bindEnvironment without standard callback signature
但是,您也可以使用本地JS setTimeout,但是必须使用Meteor.bindEnvironment或Meteor.wrapAsync将光纤手动绑定到回调(如果您打算使用例如Mongo)。
另一个有趣的工具是Meteor.defer,它类似于
var keys = Object.keys(mapped_errors);
console.log(mapped_errors[keys[0]])
,并允许在后台执行代码。与Meteor.setTimeout(func, 0)
混合使用时,请注意多层回调。
在方法中执行复杂服务时,另一个工具是this.unblock。
以适当的方式应用这些工具将使基于计时器的更新成为可能。