Node.JS异步:检查变量是否已更改

问题描述

我试图比较一次variable.value,但异步函数有延迟。 我尝试了setTimeout,更多的用户创建的等待和延迟功能,但看起来好像不起作用。

比方说,我有一台由带串行连接的秤的debian / nodejs取代的灌装机,其值是另一个js文件中的必需const scale = require("./scale"); 串行连接存在于scale.js中,并且它返回一个float并在每毫秒内更新一次beeing。 监视scale.value工作正常,它会相应更改其实际值。 但是,当我尝试检查其值并在3秒后再次与自身进行比较时,它似乎保持不变。此比较是在异步函数中进行的,setInterval每100毫秒调用一次。

const scale = require("./scale");
value1 = -1,value2 = -2;
filling= true,failsafe = false;
//other things
setInterval(catchbutton,100);

async function catchbutton(){

//SCALE FAILSAFE
if (filling) {
  value1 = scale.value;
   setTimeout(function () {
     value2 = scale.value;
     if (value1 == value2) {
      failsafe = true;
      }
    },3000);
 }
}

基本上,无论scale.value是什么,我每次都经过3秒的故障保护。 任何想法? (对不起,很抱歉,几周后才启动JS)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)