Chaîne de promesses Jquery

J'ai une simple chaîne d'événements:

  1. Obtenir des Colonnes d'une table de métadonnées (async)
  2. charge colonnes sélectionnées (async)
  3. rendu liste

J'ai utilisé seulement à la chaîne de ces fonctions, chaque appel suivant, quand il a eu terminé. Cependant, ce n'est pas très évident que ce qui se passe (l'appel de getColumnsFromMeta résultats dans la vue en cours peuplée). Donc, dans l'intérêt de la clarté et du code de la réutilisation je tiens à refactoriser à l'aide de JQuery Promises. J'ai utilisé des promesses avant. Mais comment je fais de la chaîne de plus de deux? getColumnsFromMeta ().then(loadSourceFromDatabase /*some arguments*/) //.then(renderList)?;

Voici un exemple de la getColumnsFromMeta:

var getColumnsFromMeta = function(id)
{
    var sql,
        dfd;

    dfd = $.Deferred();

    var onSuccess = function(tx, result)
    {
        var columns = [];

        for (var i = 0; i < result.rows.length; i++) 
        {
            columns.push(result.rows.item(i).Column);
        }

        dfd.resolve(columns);
    };

    var onError = function(tx, error)
    {
        dfd.reject(error);
    };

    sql = "SELECT Column FROM Meta WHERE id = ?";

    database.query(sql, [id], onSuccess, onError);

    return dfd.promise();
};

source d'informationauteur JonWells