Skip to content

Instantly share code, notes, and snippets.

@voltrevo
Created September 25, 2015 08:08
Show Gist options
  • Save voltrevo/3219e2ee49a350c760b8 to your computer and use it in GitHub Desktop.
Save voltrevo/3219e2ee49a350c760b8 to your computer and use it in GitHub Desktop.
PromiseMap
'use strict';
// core modules
var assert = require('assert');
module.exports = function(map) {
var keys = Object.keys(map);
return Promise.all(keys.map(function(mapKey) {
return map[mapKey];
})).then(function(mapKeyResults) {
var resolvedMap = {};
var len = keys.length;
assert(len === mapKeyResults.length);
for (var i = 0; i !== len; i++) {
resolvedMap[keys[i]] = mapKeyResults[i];
}
return resolvedMap;
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment