我有以下幾點:等待函數執行完成
function functionA() {
var myVar = functionB();
functionC(myVar);
}
時,functionB需要回答,取決於用戶的輸入。它可能是1秒,但也可能是10秒。所以functionC總是被調用一個未定義的值,因爲functionB()還沒有完成。所以我試過這個:
function functionA() {
var def = $.Deferred();
var myVar = functionB();
def.resolve();
$.when(def).done(function() {
functionC(myVar);
});
}
這也不行。我在StackOverflow上看到了這個:javascript function wait until another function to finish 但是它怎麼能轉移到我的問題? 回顧一下,functionA的執行需要停止,直到functionB()已經回答。謝謝。
您是否考慮過使用functionC()作爲functionB()的回調函數() –
@ReyamOki _「回顧一下,functionA的執行需要停止,直到functionB()已經回答。」_「functionA」似乎不會返回任何價值?可以描述「需要停止」嗎? ,創建stacksnippets,jsfiddle http://jsfiddle.net來演示? – guest271314