Skip to content

Commit 94fd65b

Browse files
committed
🐛 修复状态更新错误的问题
1 parent 3850af2 commit 94fd65b

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

src/app/service/service_worker/script.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,11 @@ export class ScriptService {
387387
}
388388

389389
async updateRunStatus(params: { uuid: string; runStatus: SCRIPT_RUN_STATUS; error?: string; nextruntime?: number }) {
390+
// 如果脚本删除了就不再更新状态
391+
const script = await this.scriptDAO.get(params.uuid);
392+
if (!script) {
393+
return false;
394+
}
390395
if (
391396
(await this.scriptDAO.update(params.uuid, {
392397
runStatus: params.runStatus,

src/pages/options/routes/ScriptList.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ function ScriptList() {
344344
if (s.uuid === uuid) {
345345
s.runStatus = runStatus;
346346
list[i] = { ...s };
347-
return { ...list };
347+
return [...list];
348348
}
349349
}
350350
return list;
@@ -452,16 +452,15 @@ function ScriptList() {
452452
});
453453

454454
const updateScriptList = (data: Partial<Script | ScriptLoading>) => {
455-
setScriptList((list) =>
456-
list.map((script) => {
455+
setScriptList((list) => {
456+
for (const script of list) {
457457
if (script.uuid === data.uuid) {
458458
Object.assign(script, data);
459-
return { ...script };
460-
} else {
461-
return script;
459+
return [...list];
462460
}
463-
})
464-
);
461+
}
462+
return list;
463+
});
465464
};
466465

467466
const updateEntry = (uuids: string[], data: Partial<Script | ScriptLoading>) => {

0 commit comments

Comments
 (0)