Тяжелый код сейчас можно пихать в webworker.
Вот
тут недавно делал простой пример(содержимое не суть).
Либо разбивать ваши вычисления на куски, которые уже в свою очередь вызывать через Promise.then. Просто засунуть код в Promise.then никак вам не поможет, это не магия.