说我有一个JS功能:
function x() {
// do something
outerFunction();
// do more stuff
}
我知道你可以这样做:
function x() {
// do something
$.when(outerFunction()).then(anotherFunction());
}
我可以继续投放(即,转到// do more stuff
)仅在 outerFunction
完成投放后?类似的东西:
function x() {
// do something
$.when(outerFunction()).then(continue);
// do more stuff
}
提前致谢!!
答案 0 :(得分:0)
outerFunction()
总是在执行完之前完成运行。
当然,它可能会启动一些异步,然后返回它的承诺。然后你必须做
function x() {
// do something
return outerFunction().then(function(result) {
// do more stuff
});
}
请注意,当$.when
已经返回承诺时,无需致电outerFunction
,并且当它没有返回时,根本没有理由使用它之一。