Потому что нет try catch конструкции, а это уже deprecated по умолчанию..
Во втором случае вам промис вернётся и уже за функцией можно обрабатывать ошибку. В противном случае у вас двойная обработка(как минимум) получится
Вы прописали свойство для трансформаций (scale, rotate и тд), fade in наверно надо делать через opacity? Соответственно: transition: opacity 0.5s cubic-bezier(0, 0, 1, 1);