raising jquery deferred.then () una vez que todos los objetos diferidos se han resuelto

tengo dos funciones de JavaScript,save() ysaveAll(), configurar de la siguiente manera:

function save(data) {
    return $.post('/save', data);
}

function saveAll(callback) {
    var dataArray = [];
    $.each(dataArray, function() {
        save(this);
    });
    callback();
}

Estoy interesado en modificarsaveAll() para que aproveche los objetos diferidos de jquery y aumente lacallback función una vez que todossave() operaciones se han completado. sin embargo, no estoy seguro de la sintaxis exacta ... específicamente con relación a $ .each () dentro de $ .when (). ¿Sería algo así?

function saveAll(callback) {
    var dataArray = [];
    $.when(
        $.each(dataArray, function() {
            return save(this);
        })
    ).then(callback);
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta