Для меня более простой способ - использовать таймер от 'rx js'. Но сначала нам нужно изменить l oop. Мы не используем for else while.
Шаг за шагом. представьте себе простой l oop
for(k=0;k<10;k++)
{
this.result=k;
}
Это заставляет показывать только результат 10
мы конвертируем во время
let k=0
while(k<10)
{
this.result=k
}
Снова показываем только окончательный результат 10
Использование таймера
let k=0
timer(0,500).pipe(takeWhile(()=>k<10)).subscribe(()=>{
while (k<10)
{
this.result=k
k++;
break;
}
})
Ну, проблема в том, что у нас есть два l oop, и мы хотим использовать условие (В примере я поставил простое условие )
let i = 0;
let j = 0;
timer(0, 500)
.pipe(takeWhile(() => i < this.array.length))
.subscribe(() => {
while (i < this.array.length) {
let change = false;
while (j < this.array.length) {
if (j == 2) { //<--yes is a simple condition
change = true;
this.result = i + "," + j;
j++
break;
}
j++;
}
if (change) break;
if (j == this.array.length){
i++;
j = 0;
}
}
});
Просто измените условие в соответствии с вашими встречами