refactor fetch fn in ui, fix error detection
parent
a43a9d6caf
commit
9d06e25d11
|
@ -6,17 +6,20 @@ export function useSWR<D = unknown, E = Error>(
|
|||
key: SWRKey | undefined | (() => SWRKey | undefined)
|
||||
) {
|
||||
const data = writable<D | undefined>();
|
||||
const error = writable<D | undefined>();
|
||||
const error = writable<E | undefined>();
|
||||
|
||||
function doFetch() {
|
||||
async function doFetch() {
|
||||
let keyString = typeof key === "string" ? key : key();
|
||||
fetch(keyString)
|
||||
.then(async (response) => {
|
||||
try {
|
||||
const response = await fetch(keyString);
|
||||
if (response.ok) {
|
||||
data.set(await response.json());
|
||||
})
|
||||
.catch((err) => {
|
||||
error.set(err);
|
||||
});
|
||||
} else {
|
||||
throw new Error(await response.json());
|
||||
}
|
||||
} catch (err) {
|
||||
error.set(err);
|
||||
}
|
||||
}
|
||||
|
||||
doFetch();
|
||||
|
|
Loading…
Reference in New Issue