Javascript Jquery';s回调执行顺序是否成功以及何时成功

Javascript Jquery';s回调执行顺序是否成功以及何时成功,javascript,jquery,Javascript,Jquery,有了下面的代码,回调函数的执行顺序是什么 根据我的测试,showData()总是最后执行,但是这些操作非常简单,如果我有更复杂的操作,$。当(…)。然后(回调)总是等待成功回调完成后再执行?这里有一个简单的测试方法 function showData() { console.log("show data after when"); //can i be sure that method1 success and method2 success have finished? }

有了下面的代码,回调函数的执行顺序是什么

根据我的测试,
showData()
总是最后执行,但是这些操作非常简单,如果我有更复杂的操作,
$。当(…)。然后(回调)
总是等待
成功
回调完成后再执行?这里有一个简单的测试方法

function showData() {
      console.log("show data after when");
    //can i be sure that method1 success and method2 success have finished?
}

function method1() {
    return $.ajax('https://jsfiddle.net/echo/jsonp/', {
        dataType: 'jsonp',
        success: function(){ console.log("method 1 success")}
    });
}

function method2() {
    return $.ajax('https://jsfiddle.net/echo/jsonp/', {
        dataType: 'jsonp',
        success: function(){ console.log("method 2 success")}
    });
}

$.when(method1(), method2()).then(showData);

根据来自

描述:提供一种基于零个或多个表对象(通常是表示异步事件的延迟对象)执行回调函数的方法

$.when()
提供了一种执行回调函数的方法,在这种情况下
showData()
函数


是的,这将如您所预测的那样起作用。

是的,这就是
$的全部要点。when()
。谢谢,我只是想确定一下,因为我在上找不到类似的测试,因为它们总是在
上处理数据。然后
回调(data1,data2)