Module Js.Promise

module Promise: Js_promise
Provide bindings to JS promise

type +'a t 
type error 
val make : (resolve:('a -> unit [@bs]) -> reject:(exn -> unit [@bs]) -> unit) ->
'a t
val resolve : 'a -> 'a t
val reject : exn -> 'a t
val all : 'a t array -> 'a array t
val all2 : 'a0 t * 'a1 t -> ('a0 * 'a1) t
val all3 : 'a0 t * 'a1 t * 'a2 t ->
('a0 * 'a1 * 'a2) t
val all4 : 'a0 t * 'a1 t * 'a2 t * 'a3 t ->
('a0 * 'a1 * 'a2 * 'a3) t
val all5 : 'a0 t * 'a1 t * 'a2 t * 'a3 t *
'a4 t -> ('a0 * 'a1 * 'a2 * 'a3 * 'a4) t
val all6 : 'a0 t * 'a1 t * 'a2 t * 'a3 t *
'a4 t * 'a5 t ->
('a0 * 'a1 * 'a2 * 'a3 * 'a4 * 'a5) t
val race : 'a t array -> 'a t
val then_ : ('a -> 'b t) -> 'a t -> 'b t
val catch : (error -> 'a t) -> 'a t -> 'a t