javascript函数的编排
我试图运行2个函数,然后在单击处理程序中重新定位用户。代码如下javascript函数的编排,javascript,jquery,orchestration,Javascript,Jquery,Orchestration,我试图运行2个函数,然后在单击处理程序中重新定位用户。代码如下 $(".myLink").click( function() { function1(param1); // This function contains an ajax call that updates a DB. function2(param1); // This function does as well. window.location="foo.php"; }); 虽然my window.location
$(".myLink").click( function() {
function1(param1); // This function contains an ajax call that updates a DB.
function2(param1); // This function does as well.
window.location="foo.php";
});
虽然my window.location正确重新定位,但功能未正确启动。我被jQuery1.43卡住了,所以我不能使用延迟对象
处理上述编排的公认体系结构是什么。回调
$(".myLink").click( function() {
function1(param1, { success: function() {
function2(param1, { success: function() {
window.location = "foo.php";
}});
}});
});
或者,这可能会让他们同时开火:
$(".myLink").click( function() {
completed = 0;
var success = function() {
completed++;
if (completed === 2) {
window.location = "foo.php";
}
}
function1(param1, { success: success });
function2(param1, { success: success });
});
这基本上就是在没有适当的
延迟的库的情况下可以做到的。第一个ajax调用的成功
函数必须触发第二个ajax调用。我被jQuery 1.4.3卡住了
我为你感到抱歉。那么,使用好的旧回调。哎呀,我希望它不会这么混乱,但有道理。谢谢你的快速回复。延迟对象更优雅<代码>延迟
是一个概念,它的出现正是因为它有多么混乱。@JasonWells您的函数需要结构化以处理回调。这种结构不是魔法。你还没有发布那个代码,所以我不能再多提建议了。