发布打包 reject 时收尾进度,避免面板卡死
- packageAll 在宿主不可用/读失败时会直接抛,await 包一层 try/catch - 失败时把进度置为 failed 并带上原因,不再停在 running(运行中对话框没有关闭入口)
This commit is contained in:
+13
-1
@@ -191,7 +191,19 @@ export function useTaonierTab({
|
||||
step: 'build',
|
||||
percent: null,
|
||||
});
|
||||
const built = await taonier.packageAll();
|
||||
let built: boolean;
|
||||
try {
|
||||
built = await taonier.packageAll();
|
||||
} catch (error) {
|
||||
// `packageAll` 在宿主不可用/读失败时会直接抛(含 exportUnavailable)。不接住的话进度
|
||||
// 会停在 `running`,而正在跑的对话框没有关闭入口,面板会一直卡在「正在打包发行包…」。
|
||||
setProgress({
|
||||
phase: 'failed',
|
||||
message: '发布失败',
|
||||
detail: error instanceof Error ? error.message : String(error),
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!built) {
|
||||
// 打包自己会把校验红字 / 适配弹窗 / 失败现场交给用户,这里只收起进度。
|
||||
setProgress(null);
|
||||
|
||||
Reference in New Issue
Block a user