【问题标题】:One time excuition of a function一次性执行一项功能
【发布时间】:2016-09-28 13:52:05
【问题描述】:

例如,我正在跟踪一个变量值 var d = socket.msg;

如果 var d 的取值范围在 0 到 2 之间,我想执行通知功能。

function x(){
   //some codings to pop up notification
 }

变量 d 每 1 秒变化一次。我想只运行一次通知功能,即使 var d 在给定范围内有多个值注册。

if(d>0  && d <2  ) {
 function x
}

我试过这个,但从逻辑上讲,函数 x 将被调用多次。 如何设置函数只调用一次??

【问题讨论】:

    标签: javascript node.js server operators


    【解决方案1】:

    你可以使用某种标志变量:

    var called = false;
    if (d > 0 && d < 2 && !called) {
      called = true;
      x();
    }
    

    【讨论】:

      【解决方案2】:

      你有一些不同的选择,但一个简单的方法是添加一个变量

      var isCalled = false;
      
      function x(){ 
          if(isCalled = false) {
               isCalled = true;
               //run code
          }
      }
      

      现在你的代码只能运行一次,因为在第一次之后,isCalled 被设置为true

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-21
        • 1970-01-01
        • 1970-01-01
        • 2017-11-20
        • 1970-01-01
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        相关资源
        最近更新 更多