Можешь объяснить, что такое Promise в JavaScript, включая его три возможных состояния и как его создавать и использовать? — ДейлиПреп