我正在开发一个基诺游戏。当用户按下开始按钮时,Meteor.Call() 会执行该卡片选择的所有操作。包括更新用户余额。我为中奖号码设置了一个 setTimeout,以便它们在大约 20 秒的时间内显示。问题是当拨打电话时,余额会立即更新,然后数字会延迟显示。我不熟悉如何解决这个问题。我很感激任何帮助。
服务器端:
Meteor.methods({
process: function(){
// generate numbers
// update user balance
}
});
客户端:
Template.keno.events({
'click #start' : function(){
Meteor.call('process',function(err,numbers){
//setTimeout on displaying numbers
// as setTimeout displays numbers, balance already updated. I need to delay
// the balance update, until all numbers are displayed.
// otherwise, the player see that they won before all numbers come out.
});
}
});
** 更新 **
我需要的唯一帮助是了解如何使像 {{balance}} 这样的变量无反应,直到我完成 setTimeout,然后让它更新。我应该使用会话吗?我是否应该不使用模板变量,而是使用 jquery 插入余额?这只是一个简单的解决方案,困难在于我不知道我正在寻找什么功能/方法可以帮助我在设定的时间内关闭反应性,然后在 Meteor.call() 之后更新然后数字完成它的setTimeout。