Как поставить цикл на паузу?
const randomDelay = () => new Promise(resolve => setTimeout(resolve, Math.random()*1000));

(async function() {
  let counter = 0;
  while (true) {
    console.time('timer');
    await randomDelay();
    console.timeEnd('timer');
    if (counter++ > 20) {
      break;
    }
  }
})();
https://jsfiddle.net/melchiorio/x4dyk197/2/
функция randomDelay выполняется произвольное количество времени, и весь цикл ее ждет.
вместо randomDelay будет ваша асинхронная функция, нужно смотреть что это, чтобы ее промисифицировать.
если на паузу, то лучше всего переписать async код на sync код, конечно
можно попробоватьopen(async function() {
        /* async код, который выполняется всегда разное кол. времени */
        await myAsyncCode()
        .....
        cycleContinue()
    });