在我的 Web 应用程序中,用户在页面上所做的操作必须发送到我的数据库,因此我保存了最新的更改。
当用户关闭页面时,我只是在此处调用带有请求的函数:
window.onbeforeunload = sendData;
但是出现问题的地方是我每 10 秒发送一次数据。我确实发送我的请求同步而不是异步(或者它不会被发送onbeforeunload
)。问题在于,当每 10 秒发送一次数据时,这会增加用户界面的延迟。
setInterval(sendData,10000);
这就是所谓的:
function sendData(){
var xhr = new XMLHttpRequest();
var localData = datatodatabase;
xhr.open("POST", "handler.php", false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("pack="+datatodatabase);
}
是否可以在 Web Worker 中添加它以使同步请求停止延迟其他一切正在发生的事情?
(正如我所说:我必须使用同步,因为onbeforeunload
)