问题描述
我试图比较一次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 (将#修改为@)