@semennn

Как правильно использовать Промис в методах конструктора?

Всем привет!
Как правильно использовать Промис в методе функции-конструктора, чтобы составлять такие цепи:
(new Anybody).init().next().next().next().next() и.т.д., где в init Промис определен(new Promise), а в next() - метод then(). Как это реализовать?
Чтобы работала цепочка необходимо постоянно возвращать this? без него не хочет работать цепочка вызовов, можно вернуть промис в init(), но тогда не получаетс использовать методы next(), только родные then().then();
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
Negezor
@Negezor
Senior Shaurma Developer
class Anybody {
  constructor() {
     this.promise = Promise.resolve();
  }

  next() {
    this.promise.then(() => {
      // ?
    })

    return this;
  }

   then(resolve, reject) {
     return Promise.resolve(this.promise).then(resolve, reject);
  }
}

Иначе никак, возможно вам стоит пересмотреть вашу структуру.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы