jquery" $。当"功能不按预期工作

时间:2014-08-06 22:09:57

标签: javascript jquery ajax .when

我正在尝试使用jquery $.when()函数来防止在ajax完成之前触发某些函数。我有以下函数,但延迟函数仍然与ajax调用同时触发。

代码:

 $.when(cdeckDataStore("param1","param2","param3")).done([function1("param1"),function2("param1")]);


function cdeckDataStore(action,step,checked) {
   return $.ajax({
      type: "POST",
      datatype: "json",
      url: "url/to/api",
      data: {"action":action,"step":step,"data": checked},
      success: function(data) {
        console.log("success");
      }
   });

}

根据文档function1function2应该等到ajax返回为止。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

不,根据文档,传递给.done()的引用将在$.when()完成后调用。

而您正在调用您的函数function1("param1")

您可以使用以下内容传递对函数的引用:

function1.bind(this, 'param1')