Я новичок в Promise. Я написал два примера:Смущенный, когда обещаю от setTimeout
Первый из них:
new RSVP.Promise(function (resolve, reject) {
setTimeout(function() {
resolve("HI")
}, 3000);
}).then(function (result) {
console.log(result);
});
Это один напечатает «HI» через 3 секунды, как я ожидал. Это происходит потому, что «затем» ждет его и называется только тогда, когда обещание оседает.
Второй является:
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function() {
return RSVP.Promise(function (resolve, reject) {
setTimeout(function() {
resolve("HI")
}, 3000);
});
}).then(function (result) {
console.log(result);
});
Я думал, что он будет печатать "HI" через 3 секунды. Но ничего не случилось. Я думал, что второе «потом» будет ждать обещания в первом «потом».
Что не так для второго примера и как его исправить?
Я пробовал его без RSVP, используя собственные обещания, и он работает на chrome http://codepen.io/anon/pen/MaNxJJ – Carlo
Yup, как сказал вам, вы пропустили «новый». Когда я справляюсь с кодепином, я исправил его, не задумываясь. – Carlo