Как использовать async await внутри функции Lodash _.times? - PullRequest
1 голос
/ 12 июня 2019

Я хотел бы вызывать асинхронную функцию n раз, вызывая каждый раз только после разрешения предыдущей.

Это код, который работает:

async startGame() {
  for (let i = 0; i < this.totalNumberOfSets; i++) {
  await this.startSet();
  }
}

Я хотел бычтобы преобразовать его в функцию Lodash _.times.

Я пытался использовать этот ответ: Lodash: возможно ли использовать map с асинхронными функциями?

следующим образом:

async startGame() {
  await Promise.all(_.times(this.totalNumberOfSets, async () => {
    await this.startSet()
  }))
};

но все функции вызывались сразу четыре раза, не дожидаясь разрешения.

Также пытались это сделать:

  async startGame() {
   let resArray = [];
   await Promise.all(_.times(this.totalNumberOfSets, async () =>{
     let res = await this.startSet()
     resArray.push(res);
    }
  ))
 };

, но она не работала так, как ожидалосьхорошо.

...