Javascript 让js函数一个接一个地执行
注:无jQuery 我有四个函数,我想一个接一个地调用它们,即在执行之前调用的函数后调用函数(在CoreJS中,而不是jquery中)。我试着在网上搜索,但找不到满意的答案。以下是我迄今为止所做的工作:Javascript 让js函数一个接一个地执行,javascript,ajax,synchronization,Javascript,Ajax,Synchronization,注:无jQuery 我有四个函数,我想一个接一个地调用它们,即在执行之前调用的函数后调用函数(在CoreJS中,而不是jquery中)。我试着在网上搜索,但找不到满意的答案。以下是我迄今为止所做的工作: function func1() { noAjaxCall.click(); return true; } function func2() { ajaxCall.click(); <--------- sending an ajax requ
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();
函数func1(){
noAjaxCall.click();
返回true;
}
函数func2(){
ajaxCall.click();我肯定你没有做到你所期望的。
当调用func3时,AjaxCall并没有真正完成,因为它是异步的
我宁愿你找到真正的解决办法(你真正想做的事),而不是试图解决这个问题
你能给出你想要达到的真正目标吗
编辑
让我们为ajaxCall在“单击”上设置句柄。我知道应用程序上没有jQuery,但我创建了我所知道的
function requester(){
//do some asyn work
$.ajax({ //...
success: function() {
//HERE call the other functions
}
});
}
从仅仅触发点击开始,没有太多的等待,你应该调用实际的函数并返回一个承诺,而不是触发点击,或者如果你使用像jQuery这样的库,你可以破解它并钩住全局ajax事件。是的,我注意到了这一点;我在这里没有使用jQuery!好吧,询问解决方法超出了o原始问题!谢谢:)我已经编辑过了,但您应该阅读JS中的异步回调:)