Я пытаюсь использовать метод setTimeout с форматом Promise.resolve. Я думаю, что я близок к тому, чтобы получить это, но я не получаю то, что ожидал в своей консоли.
const good = Promise.resolve(setTimeout(() => 'success', 4000));
console.log(good);
//prints '51' instead of 'success'
Я думаю, что «51» - это числовое значение успеха. Если я прав, мне интересно, почему он печатает вместо строки isteald, если она в кавычках.
Заранее благодарю за помощь!
Редактировать: Чтобы уточнить, это был вызов, данный мне инструктором Удеми. Я спрашивал, почему мой конкретный код не работает, а не ответы.
Это вызов:
const success = new Promise((resolve, reject) => {
if (true) {
setTimeout(resolve, 4000, 'success')
} else {
reject('error it broke')
}
});
success
.then (() => console.log('success!'))
3. Read about Promise.resolve() and Promise.reject(). How can you make
the above promise shorter with Promise.resolve() and console log "success"
Когда я искал это, не казалось, что это выполнимо, но это было проблемой, поэтому я подумал, что что-то упустил.
Надеюсь, это поможет прояснить ситуацию