ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
33 lines (29 loc) • 904 B
JavaScript
;
var tslib = require('tslib');
var native = require('./internals/native.js');
var isPromiseLike = require('./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, tslib.__spreadArray([], tslib.__read(args), false));
if (isPromiseLike(result)) {
return result
.then(function (res) {
return [null, res];
})
.catch(function (err) {
return [err, native.nativeUndefined];
});
}
return [null, result];
}
catch (err) {
return [err, native.nativeUndefined];
}
};
};
module.exports = tryit;