Skip to content

Commit 618ef17

Browse files
committedJun 18, 2024
performance improvement leveraging redirects in loadfn
1 parent e9fd55d commit 618ef17

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed
 

‎.changeset/nine-bugs-rule.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@solidjs/router": patch
3+
---
4+
5+
performance improvement leveraging redirects in loadfn

‎src/data/cache.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -111,13 +111,14 @@ export function cache<T extends (...args: any) => any>(fn: T, name: string): Cac
111111
cached[0] = now;
112112
}
113113
let res = cached[1];
114-
if (!inLoadFn) {
114+
if (intent !== "preload") {
115115
res =
116116
"then" in cached[1]
117117
? cached[1].then(handleResponse(false), handleResponse(true))
118118
: handleResponse(false)(cached[1]);
119119
!isServer && intent === "navigate" && startTransition(() => cached[3][1](cached[0])); // update version
120-
} else "then" in res && res.catch(() => {});
120+
}
121+
inLoadFn && "then" in res && res.catch(() => {});
121122
return res;
122123
}
123124
let res =
@@ -145,12 +146,13 @@ export function cache<T extends (...args: any) => any>(fn: T, name: string): Cac
145146
const e = getRequestEvent();
146147
if (e && e.router!.dataOnly) return (e.router!.data![key] = res);
147148
}
148-
if (!inLoadFn) {
149+
if (intent !== "preload") {
149150
res =
150151
"then" in res
151152
? res.then(handleResponse(false), handleResponse(true))
152153
: handleResponse(false)(res);
153-
} else "then" in res && res.catch(() => {});
154+
}
155+
inLoadFn && "then" in res && res.catch(() => {});
154156
// serialize on server
155157
if (
156158
isServer &&

0 commit comments

Comments
 (0)
Please sign in to comment.