Skip to content

Instantly share code, notes, and snippets.

@matthiaskern
Forked from alex35mil/Promise.re
Created October 11, 2018 14:42
Show Gist options
  • Save matthiaskern/2d9537bb542dacc4e3f9517e499074de to your computer and use it in GitHub Desktop.
Save matthiaskern/2d9537bb542dacc4e3f9517e499074de to your computer and use it in GitHub Desktop.
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