async/await vs ajax
Имея такую функцию: async function sendg(B) { if (window.fetch) { try { const response = await fetch(B); if (!response.ok) throw new Error('Ошибка HTTP: ' + response.status); const data0 = await response.text(); const data2 = data0.trim(); const data = data2.replace(/[nrt]/g, ''); pr.innerText += "response = " + data + "n"; } catch (error) { console.error('Ошибка:', error); pr.innerText += "Ошибка: " + error + "n"; } } } Которая должна отправить на сервер логин и пароль, и получить ответ, который влияет на все последующие операции JavaScript и их очень много, тысяча+ строк кода. Без ответа сервера нельзя выполнять следующие 1000+ строк остального кода, т.к. ответ должен содержать число, которое используется в дальнейших расчетах.
Если нет await, то все операции последовательны, но оно есть, и это await допускает, что все 1000 строк начнут выполняться до того, как получен ответ-разрешение сервера. Как сделать, чтобы запрос мог быть блокирующим, т. е. приостановить выполнение остальных операций на время ожидания ответа сервера? ИИ от google.com мне написал так: Синхронный Ajax был ампутирован из стандартов, лишив разработчиков простого, привычного способа выполнения блокирующих запросов. async/await — это замена (протез), которая требует другого, более сложного подхода к структурированию кода.
Источник: ru.stackoverflow.com — ru.stackoverflow.com/questions/1621918/async-await-vs-ajax