Когда окно браузера закрыто, все ресурсы, полученные программным обеспечением, освобождаются мгновенно. Поэтому, когда я закрываю окно, по логике не должно быть никакого запущенного процесса. Итак, как именно выполняется функция, связанная с beforeunload
. Более того, что если есть вызов AJAX на сервер, как он гарантирует, что база данных сервера запишет мое содержимое, которое я передаю через эту функцию.
window.addEventListener("beforeunload", function (e) {
// AJAX CALLto the server
(e || window.event).returnValue = null;
return null;
});
Как выполняется этот вызов AJAX. Мой браузер закрывается даже за секунду. Что если я захочу записать в базу данных, будет ли этот вызов AJAX успешно выполнен, если да, то как он реализован внутри.
РЕДАКТИРОВАТЬ: Кто-то в комментариях указал, что нет гарантииэтот вызов AJAX. Так что это означает, что есть шанс. Если есть шанс, то как этот процесс выполняется. А также, что произойдет, если мы закроем вкладку. Это все еще на 100% гарантировано. Если да, то почему и как?