ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
31 lines (28 loc) • 892 B
JavaScript
import { __spreadArray, __read } from 'tslib';
import { nativeUndefined } from './internals/native.js';
import isPromiseLike from './isPromiseLike.js';
var tryit = function (fn) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
try {
var result = fn.apply(void 0, __spreadArray([], __read(args), false));
if (isPromiseLike(result)) {
return result
.then(function (res) {
return [null, res];
})
.catch(function (err) {
return [err, nativeUndefined];
});
}
return [null, result];
}
catch (err) {
return [err, nativeUndefined];
}
};
};
export { tryit as default };