vue-use-query
Version:
vue use query
23 lines (22 loc) • 867 B
JavaScript
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;
}