dirdir
Постоялец
- Регистрация
- 19 Мар 2012
- Сообщения
- 112
- Реакции
- 16
- Автор темы
- #1
HTML:
function serverTalk () {
var myInnerServerTalk = new Promise ( function (resolve,reject) {
do {
var zn = prompt ('digit');
} while (isNaN(zn))
if (zn > 9) {
resolve(zn);
}
else {
reject (zn);
}
}
)
return myInnerServerTalk;
}
// Запускаю цепочку
serverTalk().then (
function resolve (zsn) {console.log(zsn)}
).then (
serverTalk ().then ( function resolve (zsn) {console.log(zsn)} )
)
Вот есть такой простой код на промисах. Что я ожидаю? Ожидаю что при вызове промиса выведется окошко в которе если ввести число больше 9 - промис завершится успешно, и в КОНСОЛЬ НЕМЕДЛЕННО ОТПРАВИТСЯ значение, которое ввели. А затем второй раз запустится промис.
На деле же запускается промис, потом ещё раз, и только ПОСЛЕ этого выводятся сразу 2 числа.
Как поправить код что бы после отрабатывания промиса он выводил число?
И чего он ждёт? Они же должны сразу срабатывать и возвращать результат