Делал ревью
простенькой реализации промисов на JS.
Столкнулся с такой строчкой
this._timeout = setTimeout(this._processQueue.bind(this), 0);
Подозреваю что в ней кроется какая-то магия.
И примерчик:
var a = new Promise(
function(resolve, reject) {
setTimeout(function() {
resolve('some_data');
}, 1500);
}).then(function() {
setTimeout(function() {
console.log('yep');
}, 1500);
}).then(function () {
console.log('ok');
});
Как
console.log('ok'); дожидается когда отработает
setTimeout(function() {
console.log('yep');
}, 1500);
Как в
.then() сам резолвится
setTimeout()?