У меня есть две функции JS. Один называет другого. В пределах вызывающей функции я хотел бы позвонить другому, дождаться завершения этой функции, а затем продолжить. Так, например, кода/псевдо:Правильный способ дождаться завершения одной функции перед продолжением?
function firstFunction(){
for(i=0;i<x;i++){
// do something
}
};
function secondFunction(){
firstFunction()
// now wait for firstFunction to finish...
// do something else
};
Я пришел к этому решению, но не знаю, если это умный способ пойти об этом.
var isPaused = false;
function firstFunction(){
isPaused = true;
for(i=0;i<x;i++){
// do something
}
isPaused = false;
};
function secondFunction(){
firstFunction()
function waitForIt(){
if (isPaused) {
setTimeout(function(){waitForIt()},100);
} else {
// go do that thing
};
}
};
Это действительно? Есть ли более элегантный способ справиться с этим? Возможно, с jQuery?
Что делает 'firstFunction' именно так, что делает его асинхронным? В любом случае - проверка обещаний – zerkms
Первая функция - быстрое обновление счетных очков каждые 10 секунд. Что ... подумать об этом, я думаю, мы могли бы предварительно вычислить, а затем просто вручную приостановить второй вызов функции через setTimeout. Тем не менее, я все еще вижу желание иметь возможность паузы в другом месте. –
вам не нужна пауза - google для обещаний в jquery – zerkms