Skip to content

Instantly share code, notes, and snippets.

@craigdallimore
Last active October 9, 2016 13:46
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 craigdallimore/78fd15bd0372d6b4294d585f923c4700 to your computer and use it in GitHub Desktop.
Save craigdallimore/78fd15bd0372d6b4294d585f923c4700 to your computer and use it in GitHub Desktop.
Parallel future example
let mkFuture = v => Future((reject, resolve) => {
console.log(`start: ${v}`);
setTimeout(() => {
console.log(`resolve: ${v}`)
resolve(v);
}, Math.random() * 1000);
});
let futures = [1,2,3,4].map(mkFuture);
let safeErr = x => console.error(x);
let safeLog = x => console.log(x);
// Start in order, resolve in any order, emit array in order.
sequence(Future.of, futures).fork(safeErr, safeLog)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment