Skip to content

Instantly share code, notes, and snippets.

@hew
Forked from alexfedoseev/Promise.re
Last active Apr 21, 2019
Embed
What would you like to do?
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