如何解决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 举报,一经查实,本站将立刻删除。