Независимо от того, используете ли вы AngularJS или любой другой фреймворк, задержка выгрузки окна до завершения асинхронного действия больше не поддерживается современными браузерами, так как это создает неудобства для пользователя.
Однако, если предположить,что асинхронная вещь, которую вы хотите сделать, это сделать запрос API, тогда современное решение состоит в том, чтобы вместо этого использовать метод navigator.sendBeacon()
. Он гарантированно отправляется браузером без блокировки, даже после того, как окно было выгружено. Это лучшее решение для всех.
Обратите внимание, что запросы маяка должны отправляться как запросы POST, поэтому вашему API необходимо поддерживать этот метод для любых конечных точек, которые вы хотите использовать в обработчике выгрузки.