Та же асинхронность без промисов — это ад дичайший. Вложенность во вложенности во вложенности. Когда начнешь пытаться хранить локально данные, которые нужно забрать из какого-нибудь апи и положить в локальное хранилище — увидишь это
с другой стороны, если использовать и ООП, и функционалку одновременно, то функционально ты создаешь обертку для бд локальной и реактивность для элементов, а при помощи промисов получаешь асинхронно данные с сервера