Задать вопрос
@Ivan72929

Почему не работает в консоли setTimeout?

Есть код:

const promise = new Promise(function (resolve, reject) {
    console.log('Состояние pending')
    setTimeout(function () {
        if (Math.random() > 0.5) {
            resolve('данные пришли');
        } else {
            reject('данные не пришли ')
        }
    }, 5000)
})

promise.then(function (success) {
    console.log('успешно' , success)
}).catch(function (error) {
    console.log('ошибка' , error)
})

В консоли после первого console.log ничего больше не показывает, ошибок никаких нету.
  • Вопрос задан
  • 345 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Daemon23RUS
@Daemon23RUS
Если асинхронная операция будет завершена успешно, тогда результат, ожидаемый от промиса, будет возвращён путём вызова функции resolve Вы где определили эту функцию ?
P.S. Ваш код работает
Состояние pending
Promise {<pending>}
ошибка данные не пришли

PSS
Что то Вы нам не договариваете. Фрагмент кода работает, и не только у меня, но у Вас нет.
Вынесите его или в отдельный файл или в тег script и проверьте этот фрагмент. Возможно дело то у Вас совсем в другом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы