Javascript 完成另一项后启动功能

Javascript 完成另一项后启动功能,javascript,jquery,api,Javascript,Jquery,Api,我有一个javascript文件,有两个函数,所有的调查和调查。这两个函数都是API调用。我想在开始时开始所有功能调查,完成后我想开始功能调查。我该怎么做 function all_surveys(){ $.ajax({ type: "GET", url: url_surveys, dataType: "json", success : function (data) { //some code }, error: });

我有一个javascript文件,有两个函数,所有的调查和调查。这两个函数都是API调用。我想在开始时开始所有功能调查,完成后我想开始功能调查。我该怎么做

function all_surveys(){
$.ajax({
    type: "GET",
    url: url_surveys,
    dataType: "json",
    success :
      function (data) {
      //some code
    },
    error:
});
}

function survey(){
$.ajax({
    type: "GET",
    url: url_survey,
    dataType: "json",
    success :
      function (data) {
      //some code
    },
    error:
});
}
试一试

如果您想处理数据或做不止一件事,则必须使用匿名函数,不过:

all_surveys();
function all_surveys(){
$.ajax({
    type: "GET",
    url: url_surveys,
    dataType: "json",
    success: function(data){survey(); /* console.log(data) */},
});
}

function survey(){
$.ajax({
    type: "GET",
    url: url_survey,
    dataType: "json",
    success :
      function (data) {
      //some code
    },
});
}
试一试

如果您想处理数据或做不止一件事,则必须使用匿名函数,不过:

all_surveys();
function all_surveys(){
$.ajax({
    type: "GET",
    url: url_surveys,
    dataType: "json",
    success: function(data){survey(); /* console.log(data) */},
});
}

function survey(){
$.ajax({
    type: "GET",
    url: url_survey,
    dataType: "json",
    success :
      function (data) {
      //some code
    },
});
}
使用承诺

function all_surveys() {
    return $.ajax({
        type: "GET",
        url: url_surveys,
        dataType: "json"
    }).then(function (data) {
        //some code
        return …;
    });
}

function survey() {
    return $.ajax({
        type: "GET",
        url: url_survey,
        dataType: "json"
    }).then(function (data) {
        //some code
        return …;
    });
}

all_surveys().then(function(allsurveysResult) {
    surveys();
});
使用承诺

function all_surveys() {
    return $.ajax({
        type: "GET",
        url: url_surveys,
        dataType: "json"
    }).then(function (data) {
        //some code
        return …;
    });
}

function survey() {
    return $.ajax({
        type: "GET",
        url: url_survey,
        dataType: "json"
    }).then(function (data) {
        //some code
        return …;
    });
}

all_surveys().then(function(allsurveysResult) {
    surveys();
});

从第一个函数调用成功回调中的第二个函数。成功:可能调查?在成功内部调用它。只需在jquery中对延迟留下一个漂亮的介绍:@zerkms-这会返回我的宝贝而不是承诺?从第一个函数调用成功回调中的第二个函数。成功:可能调查?在内部调用它成功。只是在jquery中留下了一个很好的关于尊重的介绍:@zerkms-这会回报我宝贵的东西而不是承诺吗?那就成功吧:调查?@Phrogz谢谢,我从来没有这样做过。我已经习惯了匿名函数。您刚刚达到下一个级别,将函数视为一级值,就像字符串或数组一样:@除非你想做不止一件事或使用data@Doorknob:数据将被传递。关于是否成功:调查?@Phrogz谢谢,我从来没有这样做过。我已经习惯了匿名函数。您刚刚达到下一个级别,将函数视为一级值,就像字符串或数组一样:@除非你想做不止一件事或使用data@Doorknob:数据将实际传递