Javascript 从带有承诺的动态ajax调用次数中获取数据
在我使用承诺的地方,我需要进行动态数量的ajax调用,如下所示:Javascript 从带有承诺的动态ajax调用次数中获取数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,在我使用承诺的地方,我需要进行动态数量的ajax调用,如下所示: saveNewProjects(projects) { var projectPromises: any[] = []; for (var projectName in projects) { var project = projects[projectName][0].Project; if (project && project.id == 0 &&
saveNewProjects(projects) {
var projectPromises: any[] = [];
for (var projectName in projects) {
var project = projects[projectName][0].Project;
if (project && project.id == 0 && project.name !== null) {
var deferred = $.Deferred();
(function(deferred) {
$.ajax({
url: "projects",
contentType: "application/json",
type: "POST",
data: JSON.stringify(project),
crossDomain: $.support.cors,
xhrFields: {
withCredentials: $.support.cors,
},
success: function (data) {
deferred.resolve(data);
},
});
projectPromises.push(deferred);
})(deferred);
}
}
return $.when.apply($, projectPromises).promise();
}
this.saveNewProjects(bioSamplesByProject).then(() => {
console.log("i'm done");
console.log(arguments);
但是参数是一个空数组。如何获取每个承诺的数据,以便在完成所有ajax调用后,能够对每个承诺进行成功和失败回调,并做一些事情?FYI:$。ajax返回一个承诺!你是说喜欢吗?