Skip to content

Instantly share code, notes, and snippets.

@hew
Forked from alex35mil/Promise.re
Last active April 21, 2019 05:36
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 hew/c5db1bcaf128d78599b2822fcf69f77a to your computer and use it in GitHub Desktop.
Save hew/c5db1bcaf128d78599b2822fcf69f77a to your computer and use it in GitHub Desktop.
Promise.re (native implementation)

Promise.re (native implementation)

let all = Js.Promise.all;
let resolve = Js.Promise.resolve;
let reject = Js.Promise.reject;
let andThen =
(p: Js.Promise.t('a), fn: 'a => Js.Promise.t('b)): Js.Promise.t('b) =>
p->Js.Promise.then_(fn, _);
let map = (p: Js.Promise.t('a), fn: 'a => 'b): Js.Promise.t('b) =>
p->Js.Promise.then_(x => x->fn->resolve, _);
let wait = (p: Js.Promise.t('a), fn: 'a => unit): unit =>
p->Js.Promise.then_(x => x->fn->resolve, _)->ignore;
let catch = (p: Js.Promise.t('a), fn: Js.Promise.error => Js.Promise.t('a)) =>
p->Js.Promise.catch(fn, _);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment