我有以下几点:等待函数执行完成
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