Skip to content

Instantly share code, notes, and snippets.

@AutoSponge
Last active December 11, 2015 18:35
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 AutoSponge/4d8d06790f9dd6b51264 to your computer and use it in GitHub Desktop.
Save AutoSponge/4d8d06790f9dd6b51264 to your computer and use it in GitHub Desktop.
handle promise or value
const getUser = async $id => {
const id = await Promise.resolve($id);
return new Promise((resolve, reject) => {
setTimeout(() => resolve({id}), 100);
});
}
const asyncId = new Promise((resolve, reject) => {
setTimeout(() => resolve(5), 100);
});
getUser(asyncId).then(::console.log)
getUser(10).then(::console.log) //=> resolves and logs first
const getUser = async (...args) => {
const [id] = await Promise.all(args);
return new Promise((resolve, reject) => {
setTimeout(() => resolve({id}), 100);
});
}
const asyncId = new Promise((resolve, reject) => {
setTimeout(() => resolve(5), 100);
});
getUser(asyncId).then(::console.log)
getUser(10).then(::console.log) //=> resolves and logs first
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment