UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

58 lines (49 loc) 1.13 kB
/** @format */ import { ref } from 'vue'; import { isFunction, isArray } from '@fe6/shared'; import warning from '../warning'; export default (function (api) { var loading = ref(false); var result = ref([]); function fetch(params) { var _ref = params || {}, success = _ref.success, fecthParams = _ref.params, error = _ref.error; if (!api || !isFunction(api) || typeof api !== 'function') { return; } try { loading.value = true; var res = api({ params: fecthParams, success: success, error: error }); loading.value = false; if (isArray(res)) { result.value = res; if (isFunction(success)) { success(res); } return; } } catch (err) { if (isFunction(error)) { error(); } warning(err); } finally { loading.value = false; } } var setLoading = function setLoading(loadingStatue) { loading.value = loadingStatue; }; return { loading: loading, fetch: fetch, result: result, setLoading: setLoading }; });