UNPKG

rambdax

Version:

Extended version of Rambda - a lightweight, faster alternative to Ramda

22 lines (19 loc) 535 B
import { isFunction } from './isFunction' import { isPromise } from './isPromise' export function tryCatchAsync(fn, fallback){ return (...inputs) => new Promise(resolve => { fn(...inputs) .then(resolve) .catch(err => { if (!isFunction(fallback)){ return resolve(fallback) } if (!isPromise(fallback)){ return resolve(fallback(err, ...inputs)) } fallback(err, ...inputs).then(resolve) .catch(resolve) }) }) }