R109/A2,A3,A4 改进移动报销和发票上传体验
这个提交包含在:
@@ -0,0 +1,18 @@
|
||||
export async function withUploadTimeout<T>(
|
||||
operation: (signal: AbortSignal) => Promise<T>,
|
||||
timeoutMs = 45_000,
|
||||
) {
|
||||
const controller = new AbortController();
|
||||
const timerId = window.setTimeout(() => controller.abort(), timeoutMs);
|
||||
|
||||
try {
|
||||
return await operation(controller.signal);
|
||||
} catch (error) {
|
||||
if (error instanceof DOMException && error.name === "AbortError") {
|
||||
throw new Error("上传超时,请检查网络后重试");
|
||||
}
|
||||
throw error;
|
||||
} finally {
|
||||
window.clearTimeout(timerId);
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户