Javascript 每“x”秒运行一次代码,无需设置间隔

Javascript 每“x”秒运行一次代码,无需设置间隔,javascript,cinnamon,Javascript,Cinnamon,我正在用JavaScript编写一个肉桂面板小程序,它每20-120秒轮询一个set命令以获取用户设置的信息。但问题是,肉桂小程序使用的JavaScript子集中不存在setInterval。我试着用这个: function sleep(milliseconds) { const date = Date.now(); let currentDate = null; do { currentDate = Date.now(); } while (curr

我正在用JavaScript编写一个肉桂面板小程序,它每20-120秒轮询一个set命令以获取用户设置的信息。但问题是,肉桂小程序使用的JavaScript子集中不存在setInterval。我试着用这个:

function sleep(milliseconds) {
    const date = Date.now();
    let currentDate = null;
    do {
      currentDate = Date.now();
    } while (currentDate - date < milliseconds);
}
这是我正在使用的循环的代码。 我需要的是某种非阻塞的方式,在JavaScript中每X秒运行一次代码。

由@blex发现
通过导入Mainloop,您可以获得一个timeout\u add\u seconds函数:

试试看,通过导入Mainloop,您似乎可以访问一个timeout函数:肉桂小程序API不提供了什么吗?setInterval是DOM API的一部分。我想他们会有自己的方法。@slappy你可能会这么想,但我在任何地方都看不到关于它的任何文档。@blex如果可以,请添加此作为答案,这样我就可以接受它-这对我很有用!
while (true) {
    sleep(seconds*1000)
    this.set_applet_label(cmd_output)
}