Я читал о setTimeout и других таких таймерах. Но мне интересно, если это возможно, чтобы работать до пользовательской функции, так что все, что вам нужно будет сделать, это что-то вроде этого:Создание функции «задержки» в JS?
//code
delay(time);
//more code
Возможно ли это?
UPDATE: Хорошо, я как бы понял. Так что, если это не является разумным возможным, как бы вы хотели бы отложить цикл ПОСЛЕ первого раза. Я хочу, чтобы он запускался сразу же после выполнения, но потом они задерживаются на каждой итерации.
Новое ОБНОВЛЕНИЕ: Я думаю, что, поскольку моя первоначальная мысль провалилась, вам может быть проще показать вам код, который у меня есть.
function autoFarm (clickEvent){
var farmTargets = [
"6_300_1",
"6_300_3",
"6_300_4",
"6_300_5",
"6_300_7"];
setTimeout(function() {
$.each (farmTargets, function(index, target){
var extraData = '{"end_pos":"' + target + '","purpose":0,"upshift":1,"bring_res":{"0":0,"2":0,"1":0},"bring_ship":{"1":25,"11":0},"rate":100,"start_pos":"6_300_2"}';
var finalData = baseDataDora + extraData + "&type=1";
setTimeout(function(){
for (i = 0; i < farmTargets.length; i++){
postRequest(sendFleetURL + getSign(extraData). finalData, function(json){
});
}
}, 15000);
});//End each loop
}, 1320000);
}//End autoFarm
В принципе, он должен выполнить немедленно и запустить цикл цикла 5 раз на первом элементе массива на расстоянии 15 секунд. Затем через 22 минуты перейдите к следующему набору и повторите для всего массива.
Возможно с генераторами. – elclanrs
http://stackoverflow.com/questions/951021/what-do-i-do-if-i-want-a-javascript-version-of-sleep – drs9222
Я не знаком с генераторами. –