Jquery 是否可以在$.when().done()中使用带有ajax调用的函数?
我不确定我到底遵守了延迟、承诺和Jquery 是否可以在$.when().done()中使用带有ajax调用的函数?,jquery,ajax,.when,Jquery,Ajax,.when,我不确定我到底遵守了延迟、承诺和$.when()的工作方式。我已经通读了,但我很好奇带有ajax调用的函数是否可以在$.when()中使用 我在文档中看到了这个示例: $.when( $.ajax( "test.aspx" ) ).then(function( data, textStatus, jqXHR ) { alert( jqXHR.status ); // Alerts 200 }); 这也是可以接受的方法吗 $.when( $.ajax( anotherFunction() )
$.when()
的工作方式。我已经通读了,但我很好奇带有ajax调用的函数是否可以在$.when()中使用
我在文档中看到了这个示例:
$.when( $.ajax( "test.aspx" ) ).then(function( data, textStatus, jqXHR ) {
alert( jqXHR.status ); // Alerts 200
});
这也是可以接受的方法吗
$.when( $.ajax( anotherFunction() ) ).done(
//on completion of the ajax call inside "anotherFunction()" do something here.
);
anotherFunction(){$.ajax...do some ajax stuff here.}
我正在查看的具体案例是加载可用仪表板的列表,然后在前端填充该列表后,从列表中捕获特定仪表板并为其运行加载函数
我发现它不会坏并且会运行(也许?),但我不知道这是否是正确的编码方式,或者它只是不工作并且不会同时坏
谢谢你在这方面的建议和专业知识
-杰夫
[…]如果可以在$.when()内使用带有ajax调用的函数
如果您跳过周围的$.ajax
,并且函数本身返回$.ajax
-调用,那么您的示例将起作用。如果您传递给$。当
不是延迟时(在您的情况下,函数返回undefined),它将立即解析,我认为这不是您想要的。此外,$.when
在您只有一个延迟项时是没有意义的。如果您的函数将返回$.ajax
,您可以执行类似另一个函数().done(…)
的操作
我看到的具体案例是加载可用仪表板的列表,然后在前端填充该列表
事实上,这就是$背后的想法。当时:等待多个延迟完成。您可以将它们作为参数传递,例如
let d1 = $.ajax(...);
let d2 = $.ajax(...);
$.when(d1, d2).done(...)
但是,如果您只有一个ajax调用,则不需要$。当$。当是进行单个ajax调用的标准时。。。当需要的数据可用时,只需在第一个调用的回调中进行第二个调用,但OP询问的是相关的ajax调用,而不是串行调用