スライダーから取得した値をawait関数に与えるとエラーになる



  • 下記プログラムでスライダーから取得した値で「await obniz.wait()」を実行すると、添付ログのエラーが発生します。変数の型の問題かなとも思ったのですが、Servoのangle()は同変数でエラーになりません。また「//var UL_ANGLE = 25;」の行を有効にするとエラーは発生しません。

    ■コード

    <!-- HTML Example -->
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
      <script src="https://unpkg.com/obniz@2.0.3/obniz.js" crossorigin="anonymous"></script>
    </head>
    <body>
    <div id="obniz-debug"></div>
    <input id="SLIDER" type="range"  min="100" max="500"/>
    
    <script>
    
    var obniz = new Obniz("XXX-XXX");
    obniz.onconnect = async function () {
       var ULservo = obniz.wired("ServoMotor", {signal:06});
      
       var UL_ANGLE = $("#SLIDER").val();
    //   var UL_ANGLE = 25;
       $("#ANGLE").text(UL_ANGLE);   
       console.log('【A】'+UL_ANGLE);
    
       await ULservo.angle(UL_ANGLE);
       console.log('【B】'+UL_ANGLE);    
    
       await obniz.wait(Number(UL_ANGLE));
       console.log('【C】'+Number(UL_ANGLE));  
     
       await obniz.wait(UL_ANGLE);
       console.log('【D】'+UL_ANGLE);
    }
    </script>
    
    </body>
    </html>
    
    

    ■console.log
    0_1558232717561_c7bda905-5a47-4ad8-8b15-f63631af6d62-image.png



  • @Google-Homer wait()関数では整数を指定する必要があります。
    parseInt(変数)にて整数にすることができるので、これにて変換していただければと思います。


Log in to reply
 

SUGGESTED TOPICS