ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
21 lines (18 loc) • 499 B
JavaScript
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 };