import type { AsyncData } from 'nuxt/app';
type Wrapper<DataType> = {
asyncData?: AsyncData<{ items: DataType[] } | null, Error | null>;
};
type WrapperArray<DataType> = Wrapper<DataType>[];
export function useMyAsyncData<DataType>(): Wrapper<DataType> {
const asyncData = useAsyncData<{ items: DataType[] }>(
'cacheKey',
async () => {
return {
items: [] as DataType[],
};
},
{ lazy: true, server: false }
);
return {
asyncData,
};
}
export function useMultiple<DataType>() {
const wrapperArray = ref<WrapperArray<DataType>>([]);
const wrapper = useMyAsyncData<DataType>();
wrapperArray.value.push(wrapper);
}
import type { AsyncData } from 'nuxt/app';
type Wrapper<DataType> = {
asyncData?: AsyncData<{ items: DataType[] } | null, Error | null>;
};
type WrapperArray<DataType> = Wrapper<DataType>[];
export function useMyAsyncData<DataType>(): Wrapper<DataType> {
const asyncData = useAsyncData<{ items: DataType[] }>(
'cacheKey',
async () => {
return {
items: [] as DataType[],
};
},
{ lazy: true, server: false }
);
return {
asyncData,
};
}
export function useMultiple<DataType>() {
const wrapperArray = ref<WrapperArray<DataType>>([]);
const wrapper = useMyAsyncData<DataType>();
wrapperArray.value.push(wrapper);
}