UNPKG

vue-use-query

Version:

vue use query

29 lines (28 loc) 1.02 kB
import { onMounted, onUnmounted, ref } from 'vue'; import { notifyManager } from '../core/notifyManager'; import { useQueryClient } from './QueryClientProvider'; /** * 根据筛选获取当前突变的数量 * @param filters 筛选条件 * @returns 突变的数量 */ export function useIsMutating(filters) { var queryClient = useQueryClient(); var isMutating = ref(queryClient.isMutating(filters)); // 订阅观察者 var unsubscribe; onMounted(function () { unsubscribe = queryClient.getMutationCache().subscribe(function () { notifyManager.batchCalls(function () { var newIsMutating = queryClient.isMutating(filters); if (isMutating.value !== newIsMutating) { isMutating.value = newIsMutating; } })(); }); }); onUnmounted(function () { unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe(); }); return isMutating; }