| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import {
- simpleDebounce,
- throttle
- } from "./util.js"
- import { timeout } from "@/utils/request.js";
- let loadingCount = 0; //loading发起时加的计数
- let currentState = {};
- const defaultState = {
- loadingText: "正在加载…",
- loadingTime: timeout
- }
- const endLoading = simpleDebounce(() => {
- currentState = {};
- uni.hideLoading();
- }, 500)
- const throttleShowLoading = throttle(500, () => {
- uni.showLoading({
- title: currentState.loadingText
- });
- if (currentState.loadingTime) {
- setTimeout(() => {
- endLoading();
- loadingCount = 0
- }, currentState.loadingTime)
- }
- })
- export const showLoading = (state = defaultState) => {
- if (loadingCount === 0) {
- currentState = state;
- throttleShowLoading();
- }
- loadingCount += 1;
- };
- export const hideLoading = () => {
- if (loadingCount <= 0) {
- return;
- }
- loadingCount -= 1;
- if (loadingCount === 0) {
- endLoading();
- }
- };
|