私は2つの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で?