条件为真时加数的逻辑

时间:2018-07-29 13:07:57

标签: javascript logic

我具有实时功能。这是聊天。因此,每当收到一条新消息时,我都要计算该数字。我所做的是:

  onNewMessage: message => {
      const isCheck   =  message.sender.id === '{{Auth::user()->name}}{{Auth::id()}}'
      const count = message.roomId === v.id;
      var i = 0;
      if(count == true) {
          $('.badge-color.'+message.senderId).html('');
          b = i+1;
          console.log(`This is new ${b}`);
          i = b;
          $('.badge-color.'+message.senderId).append(b);
      }
      console.log(`This is new ${i}`);
      console.log(`Outside : ${i}`);
 }

我接受了一个变量i并将其等于0。然后,每当有消息到达时,我都想添加它。因此,我将b作为结果并等于i = b,以便下次消息到达时i = 1而不是0,因此它将b设为2,依此类推。但是它不起作用,它不断给1。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

该代码看起来有效,我会说。那是真实的代码,还是您将它们存储在对象中?

尝试使用b = ++ i,如果可以,请告诉我。

//编辑后编辑:

nvm,您的i是在您收到消息时创建的。修补程序是使用全局i,但我不建议使用全局变量。您可以将其存储在一个对象中,例如:

//init object:
let obj = { counter: 0 };


//incrementing it when you have to:
obj.counter++;

//编辑:

问题是,您还可以全局初始化变量,但这与方法一没什么不同。但是,您可以将其存储在一些用户变量中。我不知道Auth :: user()服务是什么,但也许可以将其存储在:Auth :: user()-> counter(在首次从数据库中初始化或加载时将其设置为0,并在收到消息时进行计数)