mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: add skip cache requesting
This commit is contained in:
@ -19,7 +19,7 @@ const RelationListView = (props: Props) => {
|
||||
const requests = relationList
|
||||
.filter((relation) => relation.type === MemoRelation_Type.REFERENCE)
|
||||
.map(async (relation) => {
|
||||
return await memoStore.getOrFetchMemoById(relation.relatedMemoId);
|
||||
return await memoStore.getOrFetchMemoById(relation.relatedMemoId, { skipStore: true });
|
||||
});
|
||||
const list = await Promise.all(requests);
|
||||
setReferencingMemoList(list);
|
||||
|
@ -22,13 +22,13 @@ const MemoRelationListView = (props: Props) => {
|
||||
const referencingMemoList = await Promise.all(
|
||||
relationList
|
||||
.filter((relation) => relation.memoId === memo.id && relation.relatedMemoId !== memo.id)
|
||||
.map((relation) => memoStore.getOrFetchMemoById(relation.relatedMemoId))
|
||||
.map((relation) => memoStore.getOrFetchMemoById(relation.relatedMemoId, { skipStore: true }))
|
||||
);
|
||||
setReferencingMemoList(referencingMemoList);
|
||||
const referencedMemoList = await Promise.all(
|
||||
relationList
|
||||
.filter((relation) => relation.memoId !== memo.id && relation.relatedMemoId === memo.id)
|
||||
.map((relation) => memoStore.getOrFetchMemoById(relation.memoId))
|
||||
.map((relation) => memoStore.getOrFetchMemoById(relation.memoId, { skipStore: true }))
|
||||
);
|
||||
setReferencedMemoList(referencedMemoList);
|
||||
})();
|
||||
|
@ -102,7 +102,7 @@ const MemoView: React.FC<Props> = (props: Props) => {
|
||||
(relation) => relation.memoId === memo.id && relation.type === MemoRelation_Type.COMMENT
|
||||
)?.relatedMemoId;
|
||||
if (parentMemoId) {
|
||||
memoStore.getOrFetchMemoById(parentMemoId).then((memo: Memo) => {
|
||||
memoStore.getOrFetchMemoById(parentMemoId, { skipStore: true }).then((memo: Memo) => {
|
||||
setParentMemo(memo);
|
||||
});
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ const MemoDetail = () => {
|
||||
|
||||
const handleCommentCreated = async (commentId: number) => {
|
||||
await memoStore.getOrFetchMemoById(commentId);
|
||||
await memoStore.getOrFetchMemoById(memo.id, true /* skip cache */);
|
||||
await memoStore.getOrFetchMemoById(memo.id, { skipCache: true });
|
||||
};
|
||||
|
||||
return (
|
||||
|
@ -22,9 +22,9 @@ export const useMemoV1Store = create(
|
||||
});
|
||||
return memos;
|
||||
},
|
||||
getOrFetchMemoById: async (id: number, skipCache = false) => {
|
||||
getOrFetchMemoById: async (id: number, options?: { skipCache?: boolean; skipStore?: boolean }) => {
|
||||
const memo = get().memoById.get(id);
|
||||
if (memo && !skipCache) {
|
||||
if (memo && !options?.skipCache) {
|
||||
return memo;
|
||||
}
|
||||
|
||||
@ -35,10 +35,12 @@ export const useMemoV1Store = create(
|
||||
throw new Error("Memo not found");
|
||||
}
|
||||
|
||||
if (!options?.skipStore) {
|
||||
set((state) => {
|
||||
state.memoById.set(id, res.memo as Memo);
|
||||
return cloneDeep(state);
|
||||
});
|
||||
}
|
||||
return res.memo;
|
||||
},
|
||||
getMemoById: (id: number) => {
|
||||
|
Reference in New Issue
Block a user