2012-07-28 50 views
0

我知道我需要一個回調來解決這個問題,但我只是無法做到。我已經嘗試了一些不同的解決方案,但是我不會去看看我的嘗試。相反,我只會展示我想要完成的事情。你如何運行一個jQuery函數背對背,等待第一個完成?

theCodeToRun('123', '1'); 
//Wait for it to complete... 
theCodeToRun('123', '0'); 

function theCodeToRun(myID, exitEarly){ 
    //Do some stuff (using myID) 
    if(exitEarly == 1){ 
     return false; //Exit 
    } 
    //Do some more stuff 
} 

回答

0

將第二個調用放在傳遞給第一個的回調中。

0

想要在theCodeToRun中做什麼? javascript在單線程中執行,因此如果在theCodeToRun中沒有異步東西,則不需要任何回調。否則,你可以修改你的代碼是這樣的:

function theCodeToRun(func, flag, callback){ 
    if(flag){ 
     callbck(); 
    } 
    func(callback); 
} 

爲什麼callback作爲參數傳遞給func你會感到困惑。好的,在這種情況下,我們假設func是一個例程,可以執行一些異步作業,例如撥打ajax調用。您需要將callback傳遞給它,以便func完成您的回調。

相關問題