2013-11-26 165 views
0

我正在使用普通Java腳本進行異步調用,其結果將被進一步使用。這是陳述。如何在執行異步調用之前阻止執行?

var x = function call(); //Asynchronous call 
    alert(x); 

這裏我得到x爲「undefined」。

然後,我嘗試檢查如下

while(1){ 
    if(x != "undefined"){ 
     alert(x); 
     break; 
    } 
} 

然後while條件永遠不會得到休息x的使用雖然循環狀態。它繼續執行。 幫助我停止執行,直到我收到來自異步調用的結果爲止?

+2

x'的'的價值,一旦你的函數調用返回永遠不會改變。相反,您可能會在異步調用中的某個位置傳遞*回調函數,並且在異步請求完成時調用此函數。在發佈異步函數的代碼之前,我們無法真正幫助您... – Shai

回答

3

異步調用處理後返回輸出。所以你的函數應該接受一個確實在函數執行時運行的回調函數。

所以你的代碼看起來應該是這樣

function asynccall (args..., callback); 

function callback(data){ 
alert(data); //Get the response and use it furher 
}