@burov0798
Пытаюсь изучать php\js

Как заставить цикл ждать функцию?

Добрый день. Есть 2 функции:
function showUser(data) {
	for (var k = 0; k < 10; k++) {
		arrayMess = [];
		getMes(data[k][0],data[k][0] );
	}
}
function getMes(data1,data2) {
			var i = 200;
			var timerId = setInterval(function() {
				addScript('https://api.vk.com/method/execute?code=' + encodeURIComponent('var mes = API.messages.getHistory({"user_id":'+ data1 +',"count": 200});var i = '+ i +';var arr = [];arr = arr + mes.items@.from_id;while (i < ('+ i +' + 4800) ) {var mes = API.messages.getHistory({"offset":i,"user_id":'+ data1 +',"count": 200});arr = arr + mes.items@.from_id;i = i + 200;}return {"count":mes.count,"users":arr};') + '&access_token=' + token + '&callback=showMess&v=5.69');
				if (data2 == arrayMess.length) { 
					clearInterval(timerId);
				}
			i = i + 5000;
		  }, 1000);	
}

После запуска функции showUser начинает работать цикл и дергать другую функцию,сейчас он почему-то сразу отрабатывает и вызывает кучу функций, а нужно, чтобы он дожидался когда отработает функция, которую он запускает и только потом продолжался, как это сделать?
  • Вопрос задан
  • 313 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
C использованием async/await можно так: https://jsfiddle.net/rockon404/ewpbd4bv/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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