Skip to content

Instantly share code, notes, and snippets.

@alex35mil
Created October 11, 2018 14:37
Show Gist options
  • Save alex35mil/0d7a56bcee875fe055ce5f632f23a382 to your computer and use it in GitHub Desktop.
Save alex35mil/0d7a56bcee875fe055ce5f632f23a382 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