我有一个javascript文件,有两个函数all_surveys()和survey()。这两个函数都是API调用。我想在开始时启动函数all_surveys(),当它完成时我想启动函数调查()。我怎么能这样做?
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:
});
}
答案 0 :(得分:3)
使用承诺!
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();
});
答案 1 :(得分:2)
尝试
all_surveys();
function all_surveys(){
$.ajax({
type: "GET",
url: url_surveys,
dataType: "json",
success: survey,
});
}
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
},
});
}