UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

21 lines (18 loc) 499 B
import { nativeUndefined } from './internals/native.js'; import isPromiseLike from './isPromiseLike.js'; var guard = function (fn, shouldGuard) { var _guard = function (err) { if (shouldGuard && !shouldGuard(err)) { throw err; } return nativeUndefined; }; try { var result = fn(); return isPromiseLike(result) ? result.catch(_guard) : result; } catch (err) { return _guard(err); } }; export { guard as default };