Skip to content

Instantly share code, notes, and snippets.

@herzi
Forked from domenic/params.js
Last active August 29, 2015 14:05
Show Gist options
  • Save herzi/cc01205a709dfa8b15b3 to your computer and use it in GitHub Desktop.
Save herzi/cc01205a709dfa8b15b3 to your computer and use it in GitHub Desktop.
fully promisified version
/**
* Turns: {
* keyOne: promiseOne,
* keyTwo: promiseTwo
* } into {
* keyOne: resolutionOne,
* keyTwo: resolutionTwo
* }
*
* (To avoid messing around with unclear array indices when calling different
* kinds of async ops; e.g. different database queries and some file system call)
*/
function params(object) {
return Q(object).keys().then(function (keys) {
return Q.all(keys.map(function (key) {
return object[key];
})).then(function (values) {
var result = {};
for (var i = 0; i < keys.length; i += 1) {
result[keys[i]] = values[i];
}
return result;
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment