Как выполняется метод beforeunload при закрытии окна браузера - PullRequest
0 голосов
/ 24 октября 2019

Когда окно браузера закрыто, все ресурсы, полученные программным обеспечением, освобождаются мгновенно. Поэтому, когда я закрываю окно, по логике не должно быть никакого запущенного процесса. Итак, как именно выполняется функция, связанная с beforeunload. Более того, что если есть вызов AJAX на сервер, как он гарантирует, что база данных сервера запишет мое содержимое, которое я передаю через эту функцию.

window.addEventListener("beforeunload", function (e) {
  // AJAX CALLto the server
  (e || window.event).returnValue = null;
  return null;
});

Как выполняется этот вызов AJAX. Мой браузер закрывается даже за секунду. Что если я захочу записать в базу данных, будет ли этот вызов AJAX успешно выполнен, если да, то как он реализован внутри.

РЕДАКТИРОВАТЬ: Кто-то в комментариях указал, что нет гарантииэтот вызов AJAX. Так что это означает, что есть шанс. Если есть шанс, то как этот процесс выполняется. А также, что произойдет, если мы закроем вкладку. Это все еще на 100% гарантировано. Если да, то почему и как?

...