Этот внешний цикл while будет блокироваться, вам придется выполнить рефакторинг, используя only setTimeout.Однако тот факт, что вы хотите такого рода вещи, указывает на то, что ваша структура кода действительно ужасна и требует доработки.Что вы пытаетесь повторить?Как вы обнаруживаете ошибку?Делает ли это в 10 раз больше шансов на успех?
У меня есть сущность, содержащая обобщенную функцию, которая будет делать такие вещи для вас, но я не хочу делиться, если это проблема XY.