UNPKG

vue-use-query

Version:

vue use query

23 lines (22 loc) 867 B
import { onMounted, onUnmounted, ref } from 'vue'; import { parseFilterArgs } from '../core/utils'; import { useQueryClient } from './QueryClientProvider'; export function useIsFetching(arg1, arg2) { var queryClient = useQueryClient(); var filters = parseFilterArgs(arg1, arg2)[0]; var isFetching = ref(queryClient.isFetching(filters)); // 订阅观察者 var unsubscribe; onMounted(function () { unsubscribe = queryClient.getQueryCache().subscribe(function (res) { var newIsFetching = queryClient.isFetching(filters); if (isFetching.value !== newIsFetching) { isFetching.value = newIsFetching; } }); }); onUnmounted(function () { unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe(); }); return isFetching; }