UNPKG

taro-hooks

Version:
28 lines 1.44 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import { isFunction } from '@taro-hooks/shared'; import { generateGeneralFail } from '../utils/tool'; function usePromise(implementMethod) { return function (options) { var _implementMethod$name; if (!implementMethod) return Promise.reject(generateGeneralFail(implementMethod, 'please input a valid method name')); // @ts-ignore var methodName = (_implementMethod$name = implementMethod == null ? void 0 : implementMethod.name) != null ? _implementMethod$name : 'usePromise::implementMethod'; return new Promise(function (resolve, reject) { try { if (isFunction(implementMethod)) { var _implementMethod; var payload = options || {}; (_implementMethod = implementMethod(_extends({}, payload, { success: resolve, fail: reject }))) == null ? void 0 : _implementMethod["catch"] == null ? void 0 : _implementMethod["catch"](reject); } else { throw new TypeError("[" + methodName + "] not vaild for Taro"); } } catch (e) { reject(generateGeneralFail(methodName, e.message)); } }); }; } export default usePromise;