@Kirill0673

Как притормозить выполнение цикла?

Всем привет, есть функция и цикл, который запускает ее несколько раз подряд, однако функция не успевает выполниться, в то время, как цикл запускает ее снова.
for ( let i = 0; i < 3; i++) {
setInterval(function(){}, 1000)
clearInterval();
}
Не помогает. Есть другие способы торможения цикла, или использовать другой цикл ?
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
john36allTa
@john36allTa
alien glow of a dirty mind
Ну хз 0_о
function a(index,value){
	return new Promise((resolve,reject)=>{
		let j = 0,
			// этот тикер симулирует async фанкцию, т.е. ajax например
			h = setInterval(_ => {
				if (++j==2) {
					clearInterval(h)
					console.log('step '+index+' finished');
					resolve(a(++index,j))
        }
      },1000);
  	});
};
a(0,0)


async function request(){
	return new Promise(resolve=>setTimeout(_=>resolve(),1000))
}

( async () => {
	for (i=0;i<5;i++){
		const data = await request()
		console.log('another way | step ' + i + ' complete')
  }
})()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
v3shin
@v3shin
Веб-шаман
А setTimeout() вам чем не угодил?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы