新手求助并发问题

我在一个按钮里面关联了8个事件,见图中蓝色箭头指的按钮,点击之后会批量执行8个事件,这8个事件对应的同一个脚本的同一个方法,这个方法来减少红色箭头所指的数量,如果这个按钮点快之后,会出现一个并发问题,导致最终得到的结果数量不对。不知道有没有什么方法能阻塞执行。
新手刚接触游戏开发和该引擎的第5天了,很多不太懂,前端JS也有点弱。望大佬指点一下。
图片素材在淘宝买的,一边学一边做

代码啥的贴上来啊

你这思路不对啊,

JS 没有并发问题, 你肯定是其他错误.

他应该是那八个事件没走完就又重新开始了,所以导致的数量不对,不知道队列可不可以解决

加个锁啊, var mutex = true , 每次执行检测一次.

拿走不谢
其中我自己的命名方式:
this.MoneyLabel是一个cc.Label,
this.global.userData.money是玩家的钱数
this.global.moneyDisTime:1,//金币变化时间
this.global.moneyDis:40,//金币变化时间内的变化次数

setMoney() {
    if(Number(this.MoneyLabel.string)==Number(this.global.userData.money))return;
    let dis=Math.floor((Number(this.global.userData.money)-Number(this.MoneyLabel.string))/this.global.moneyDis);
    this.unschedule(func, this.global.moneyDisTime/this.global.moneyDis);
    let func = function () {
        if(Number(this.MoneyLabel.string)==Number(this.global.userData.money) ||Math.abs(Number(this.global.userData.money)-Number(this.MoneyLabel.string))<=Math.abs(dis)){
            this.MoneyLabel.string=this.global.userData.money;
            this.unschedule(func, this.global.moneyDisTime/this.global.moneyDis);
        }else{
            this.MoneyLabel.string=Number(this.MoneyLabel.string)+dis;
        }
    }.bind(this);
    this.schedule(func, this.global.moneyDisTime/this.global.moneyDis);
},
1赞