如何解决每隔“ x”秒运行一次代码,无需设置setInterval?
开发过程中遇到每隔“ x”秒运行一次代码,无需设置setInterval的问题如何解决?下面主要结合日常开发的经验,给出你关于每隔“ x”秒运行一次代码,无需设置setInterval的解决方法建议,希望对你解决每隔“ x”秒运行一次代码,无需设置setInterval有所启发或帮助;问题描述
我正在编写一个Cinnamon面板小程序(在JavaScript中),该小程序每20-120秒轮询一次设置命令,以获取用户设置的信息。但是问题在于,肉桂小程序使用的JavaScript子集(?)中不存在a=dt.datetime(*([int(i) for i in data['launch'].split(",")]))
。我试图用这个:
setInterval
这是行不通的,因为它锁定了function sleep(milliseconds) {
const date = Date.Now();
let currentDate = null;
do {
currentDate = Date.Now();
} while (currentDate - date < milliseconds);
}
的整个面板,只是运行了片刻。
milliseconds
这是我正在使用的循环的代码。 我需要一种以非阻塞方式在JavaScript中每X秒运行代码的方式。
解决方法
由@blex发现 通过导入Mainloop,您可以获得timeout_add_seconds函数:https://github.com/axos88/cinnamon-countdown-timer/blob/master/applet.js#L213