Асинхронное программирование

В1: Какая основная проблема решается с использованием асинхронного программирования в JavaScript

Уменьшение числа строк кода
Уменьшение числа ошибок в коде
Передача данных между различными вкладками браузера
Избежание блокировок интерфейса