Задача:
const cell = new MyClass();
cell.then(() => {
console.log(1); // Выполниться через секунду
});
cell.then(() => {
console.log(2); // Выполниться через секунду после предыдущей
});
cell.then(() => {
console.log(3); // Выполниться через секунду после предыдущей
});
Попытка реализации:
class MyCLass {
constructor() {
this.promise = new Promise(function(resolve, reject) {
resolve();
});
}
then(callback) {
this.promise.then(new Promise(function(resolve, reject) {
setTimeout(() => {
callback();
resolve();
}, 1000);
}));
return this;
}
};
Результат такой, что через секунд 1, 2, 3 возвращаются сразу. Что упустил?