Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery";$。什么时候;功能未按预期工作_Javascript_Jquery_Ajax_.when - Fatal编程技术网

Javascript jquery";$。什么时候;功能未按预期工作

Javascript jquery";$。什么时候;功能未按预期工作,javascript,jquery,ajax,.when,Javascript,Jquery,Ajax,.when,我试图使用jquery$.when()函数来防止在ajax完成之前触发某些函数。我有下面的函数,但是延迟函数仍然与ajax调用同时启动 代码: 根据文档function1和function2应该等到ajax重新启动 我遗漏了什么吗?没有,根据文档,传递到.done()的引用将在$之后调用。当()完成时 而您正在调用您的函数,而function1(“param1”) 您可以使用以下方法传递对函数的引用: function1.bind(this, 'param1') 您确定没有调用错误处理程序吗?

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

代码:

根据文档
function1
function2
应该等到ajax重新启动


我遗漏了什么吗?

没有,根据文档,传递到
.done()
的引用将在
$之后调用。当()
完成时

而您正在调用您的函数,而
function1(“param1”)

您可以使用以下方法传递对函数的引用:

function1.bind(this, 'param1')

您确定没有调用错误处理程序吗?我在控制台中看到“成功”。重复的-您不需要传递成功/错误。$。ajax()是一个承诺。但是成功/错误不是承诺。你是对的,失败仍然会带来承诺。多年来我一直忽略jquery,直到我使用angular,它在幕后使用jquery。你调用数组中的函数,并将这两个函数返回到传递给done的数组中的任何内容返回。您需要一个匿名函数来包装这两个函数。谢谢,但是这个呢。解析延迟后调用的函数或函数数组。我传递的是函数数组。@arrowill12:不,你传递的是函数返回的数组。滚动至示例并将
done([fn1,fn2],fn3,[fn2,fn1])
与您的代码进行比较。你看,它们只传递函数名(引用),但不像
fn1()
function1.bind(this, 'param1')