В чём разница между XMLHttpRequest и fetch()?
Уровень: Middle
Ответ
XMLHttpRequest (XHR) – старый API для AJAX-запросов. Он работает через создание объекта, установки различных обработчиков (onreadystatechange) и отправки запроса методом `.send()`. Код с XHR выходит более громоздким. Fetch – современный API, который возвращает промис. В fetch легче осуществлять запросы: `fetch(url).then(...)`. Он предоставляет удобный объект Response с методами (json(), text() и т.д.). Также fetch по умолчанию не отправляет куки (требуется опция `credentials`), а XHR отправляет по умолчанию. В целом, fetch – более простой и гибкий способ делать AJAX-запросы, и его синтаксис лучше интегрируется с промисами и async/await.