在后台连续调用函数

时间:2019-04-01 15:53:31

标签: javascript

问题

我正在将图片保存在浏览器上的IndexedDB中。我想每10秒用javascript调用一个函数,以将IndexedDB中的URL同步到我的真实数据库。 它应该在背景中。这意味着:应该有一个每10秒调用一次的函数,以自动“同步”数据库中的所有条目。

我做了什么

我已经有一个“同步”按钮/功能,可以正常工作。此函数应自动调用。但是,在后台使用此功能不应在前台中断或干扰我的主要功能。例如,在indexedDB中添加新条目。

在研究过程中,我发现了毛囊功能:

setInterval(function(){ alert("Hello"); }, 3000);    

但是它只能单独使用,不能与我的“主要”功能并行。

理想的解决方案

理想的解决方案应该是一个函数(我已经拥有该函数),该函数每10秒就会触发一次(不一定是10秒,这只是一个样本数),但不应干扰其他函数执行。

1 个答案:

答案 0 :(得分:1)

如果您只想一次又一次地调用函数,请使用setTimeInterval尝试以下代码:

/* The data param is in case you want to pass some param */
var mySynFunc = (data) => {
    console.log(`Sync my data: ${data}`);
}

/* This id must be used to stop your function interval */
var id = setInterval(mySynFunc, 3000, 'my-url');

/* If you want to stop your setIntervalFunction use this */
clearInterval(id)