javascript函数的编排

时间:2012-12-21 23:29:33

标签: 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";
});

当我的window.location正确重定位时,函数没有正确触发。我坚持使用jQuery 1.43所以我不能使用延迟对象。

处理上述编排的可接受架构是什么。

2 个答案:

答案 0 :(得分:4)

回调

$(".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 });
});

如果没有合适的Defered库,基本上就是这样做的。

答案 1 :(得分:1)

第一个ajax调用的success函数必须触发第二个ajax调用。