Javascript 从带有承诺的动态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 &&

在我使用承诺的地方,我需要进行动态数量的ajax调用,如下所示:

  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返回一个承诺!你是说喜欢吗?