我正在尝试使用 ajax 调用在服务器端自动保存表单数据。我在任何输入更改后 20 秒开始自动保存。如果正在进行一个自动保存呼叫,我想等待。以下是我正在采取的步骤。我的方法依赖于一个 javascript 全局变量,我担心我可能会遇到某种同步问题。有没有其他更好的方法来做到这一点?
$('input').change(function() {
if (autoSaveInProgress == false) {
//call ajax function in 20secodns.
setTimeout(autoSaveFunction, 20000);
autoSaveInProgress = true;
}
});
收到服务器的响应后,我在 autoSaveFunction 中将 autoSaveInProgress 设置为 false。