javascript - 使用 setInterval 每 60 秒保存一次表单不起作用

标签 javascript setinterval

我正在编写一些代码,我希望每个循环每 60 秒运行一次,但目前每个循环立即运行。代码的目的是查看表单是否已更改以及是否已保存表单。我的 setInterval 设置不正确吗?

function saveHelper(formId) {
    for(var i = 0; i < 4; i++) {
        save(formId);
    }
}

function save(formId) {
    console.log('might save');
    var changed = formChanges(formId);

    var intId = setInterval(stall, 60000);
    if(changed.length > 0) {
        console.log('would save');
        //document.getElementById(formId).submit();
    }

    clearInterval(intId);
}

function stall() {
    return true;
}

最佳答案

您将间隔视为某种同步 sleep 方法,但事实并非如此。更改代码应该位于 setInterval 内部,它不应该在间隔之后存在。

var intId = setInterval(function () {
    if(changed.length > 0) {
        console.log('would save');
        //document.getElementById(formId).submit();
    }
}, 60000);

关于javascript - 使用 setInterval 每 60 秒保存一次表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52098796/

相关文章:

javascript - 通过javascript生成html : avoiding htmltidy error

javascript - React Hooks Clock - 在特定时间后清除 SetInterval

javascript - 清除 'looped' 超时在函数中关闭 - 如何返回我能够清除它的间隔 ID

javascript - Android 不从间隔播放 html5 音频

javascript - react native : How to go about using ShouldComponentUpdate with setInterval and setState

javascript - 如何从视频 HTML 元素中获取帧精确搜索?

javascript - Javascript 中的字符串比较

javascript - 闭包编译器修改字符串中的结束括号

Javascript:调整事件大小,每个事件触发两次

javascript - 按顺序运行定时器 : Reactjs