K-2
@K-2

Как правильно организовать последовательно выполнение одной функции js?

Набросал js код, который последовательно запускает одну функция 10 раз.
Подскажите как правильно и красиво организовать подобную последовательную операцию?

var count = 10;

function forse(){
	timerId = setTimeout(function(){

		$.post(
			"post.php",
			{
               params: params,
               count: count
			},	
			function(data){
           $("#result").append(data);
		        count--;
		        if(count>0) forse();
		        else {
		            stop();
		        }
			}
		);
	},5000);
}
  • Вопрос задан
  • 290 просмотров
Решения вопроса 2
Ni55aN
@Ni55aN
Используйте Promise

function forse(){
  return new Promise((res,req) => { // и в случае ошибки не забудьте вызвать req
     setTimeout(function(){
    $.post(
      "post.php",
      {
               params: params,
               count: count
      },	
      function(data){
           $("#result").append(data);
            res();
      }
    );
  },5000);
  });
}


Для актуальных браузеров c поддержкой async/await (должно быть внутри async функции)
for(let i=0;i<10;i++)
    await forse();


И для тех, что постарше:
var i = 0;
function iter(){
    if(++i>10)return;
        return forse().then(iter)
}
iter();
Ответ написан
longclaps
@longclaps
Просто продублируй этот код 10 раз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект
30 апр. 2024, в 23:39
5000 руб./за проект