Skip to content

Instantly share code, notes, and snippets.

@spion
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spion/8793590 to your computer and use it in GitHub Desktop.
Save spion/8793590 to your computer and use it in GitHub Desktop.
module.exports = function sequentially(fns) {
var results = [], last;
for (var k = 0; k < fns.length; ++k)
if (k === 0) results.push(last = fns[k]());
else results.push(last = last.then(fns[k]))
return results;
}
// Usage
function createTables() {
return Promise.all(sequentially(
create('table1', function(t) { ... }),
create('table2', function(t) { ... }),
create('table3', function(t) { ... }))
.then(function(values) {
// do stuff and return something
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment