possible bug clearInterval

Posted on
  • possible bug in this code
    bad code

    function parpadeo(time)
    {
    clearInterval(inter1);
    var  l = false;
    var inter1 = setInterval(function() {
     l = !l;
      C1.write(l);
    }, time);
    }
    
    parpadeo(200);
    function led1(time1)
    {
    clearInterval(led2);
    var  l1 = false;
    var led2 = setInterval(function() {
     l1 = !l1;
      A1.write(l1);
    }, time1);
    }
    led1(300);
    

    desired effect

    function parpadeo(time)
    {
    //clearInterval(inter1);
    var  l = false;
    var inter1 = setInterval(function() {
     l = !l;
      C1.write(l);
    }, time);
    }
    
    function led1(time1)
    {
    //clearInterval(led2);
    var  l1 = false;
    var led2 = setInterval(function() {
     l1 = !l1;
      A1.write(l1);
    }, time1);
    }
    parpadeo(200);
    led1(300);
    

    all this with tested stm32 f3 dicovery and espruino 1v61
    you will obtain a different result.

    I hope to be of help
    Thank you greetings

  • I don't think you understand variable scope, if you're trying to achieve what I think you are (in the future, please describe the intended behavior when you ask for help with code).

    Here, I moved the variable declarations out of the functions, so that they will persist between function calls. Both of the functions will now clear the interval and set it to a new value.

    var inter1=0;
    var l=0;
    var l1=0;
    var led2=0;
    function parpadeo(time)
    {
    if (inter1) {clearInterval(inter1);}
    l = false;
    inter1 = setInterval(function() {
    l = !l;
    C1.write(l);
    }, time);
    }
    
    parpadeo(200);
    function led1(time1)
    {
    if (led2) {clearInterval(led2);}
    l1 = false;
    led2 = setInterval(function() {
    l1 = !l1;
    A1.write(l1);
    }, time1);
    }
    led1(300);
    

    (code not tested, might have typos. But it should work)

  • Thanks for your comment and learned a lot

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

possible bug clearInterval

Posted by Avatar for alexrlopez86 @alexrlopez86

Actions