注意:没有jQuery
我有四个功能,我想一个接一个地调用它们,即。在执行先前调用的函数之后调用函数(在核心js中,而不是jquery)。我尝试在互联网上搜索,但我找不到满意的答案。这是我到目前为止所做的:
function func1() {
noAjaxCall.click();
return true;
}
function func2() {
ajaxCall.click(); <--------- sending an ajax request
return true;
}
function func3() {
noAjaxCall.click();
return true;
}
function func4() {
//anything here
}
if(func1())
if(func2())
if(func3())
func4();
发生的是,func3
未被调用。为什么会发生这种情况并且可以解决这个问题?
谢谢!
答案 0 :(得分:1)
我确定你没有做你期望的事。 当调用func3时,AjaxCall并没有真正完成,因为......它是异步的。
我倾向于找到真正的解决方案(你真正想做的),而不是试图解决这个问题。
你能给出你想要实现的真正目标吗?
修改强>
让我们想象ajaxCall的'click'句柄。我知道你在应用程序上没有jQuery,但我创建了我所知道的。
function requester(){
//do some asyn work
$.ajax({ //...
success: function() {
//HERE call the other functions
}
});
}