修复fetch API超时实现:使用AbortController替换不支持的timeout参数
- 替换fetch中的timeout选项为AbortController + setTimeout实现 - 修复TypeScript编译错误:timeout不存在于RequestInit类型中 - 添加proper超时清理逻辑避免内存泄漏 - 更新CLAUDE.md文档:统一使用pnpm命令,补充IPC接口说明
This commit is contained in:
@@ -119,10 +119,15 @@ ipcMain.handle('selectConfigFile', async () => {
|
||||
ipcMain.handle('checkStatus', async (_, provider: Provider) => {
|
||||
// 简单的连通性检查 - 向API地址发送HEAD请求
|
||||
try {
|
||||
const controller = new AbortController()
|
||||
const timeoutId = setTimeout(() => controller.abort(), 5000)
|
||||
|
||||
const response = await fetch(provider.apiUrl, {
|
||||
method: 'HEAD',
|
||||
timeout: 5000
|
||||
signal: controller.signal
|
||||
})
|
||||
|
||||
clearTimeout(timeoutId)
|
||||
return response.ok
|
||||
} catch (error) {
|
||||
console.error('检查供应商状态失败:', error)
|
||||
|
||||
Reference in New Issue
Block a user