How can I execute array of promises in sequential order?

If you already have them in an array then they are already executing. If you have a promise then it’s already executing. This is not a concern of promises (I.E they are not like C# Tasks in that regard with .Start() method). .all doesn’t execute anything
it just returns a promise.

If you have an array of promise returning functions:

var tasks = [fn1, fn2, fn3...];

tasks.reduce(function(cur, next) {
    return cur.then(next);
}, RSVP.resolve()).then(function() {
    //all executed
});

Or values:

var idsToDelete = [1,2,3];

idsToDelete.reduce(function(cur, next) {
    return cur.then(function() {
        return http.post("/delete.php?id=" + next);
    });
}, RSVP.resolve()).then(function() {
    //all executed
});

Leave a Comment