From 05135c8bf01e2dceb7b7ffa6d59ed7a6d01ab8ad Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sat, 16 Nov 2024 19:55:13 +0900 Subject: [PATCH] Fix dbsaveerror --- src/ts/storage/accountStorage.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/ts/storage/accountStorage.ts b/src/ts/storage/accountStorage.ts index 2a196eb1..569fd36f 100644 --- a/src/ts/storage/accountStorage.ts +++ b/src/ts/storage/accountStorage.ts @@ -22,6 +22,16 @@ export class AccountStorage{ async setItem(key:string, value:Uint8Array) { this.checkAuth() let da:Response + + let daText:string|undefined = undefined + const getDaText = async () => { + if(daText === undefined){ + daText = await da.text() + } + return daText + } + + while((!da) || da.status === 403){ const saveDate = Date.now().toFixed(0) @@ -45,7 +55,7 @@ export class AccountStorage{ } if(da.headers.get('Content-Type') === 'application/json'){ - const json = (await da.json()) + const json = JSON.parse(await getDaText()) if(json?.warning){ if(!seenWarnings.includes(json.warning)){ seenWarnings.push(json.warning) @@ -73,9 +83,9 @@ export class AccountStorage{ } } if(da.status < 200 || da.status >= 300){ - throw await da.text() + throw await getDaText() } - return await da.text() + return await getDaText() } async getItem(key:string):Promise { this.checkAuth()