refactor(desktop): 用类型收窄替代 as AddressInfo 断言

This commit is contained in:
2026-02-08 19:03:13 +08:00
parent 894fd17d1a
commit 6cc1bc6834

View File

@@ -1,5 +1,4 @@
import { spawn } from 'node:child_process' import { spawn } from 'node:child_process'
import type { AddressInfo } from 'node:net'
import { createServer } from 'node:net' import { createServer } from 'node:net'
import { join } from 'node:path' import { join } from 'node:path'
import { app, BrowserWindow, shell } from 'electron' import { app, BrowserWindow, shell } from 'electron'
@@ -13,8 +12,13 @@ const getAvailablePort = (): Promise<number> =>
new Promise((resolve, reject) => { new Promise((resolve, reject) => {
const server = createServer() const server = createServer()
server.listen(0, () => { server.listen(0, () => {
const { port } = server.address() as AddressInfo const addr = server.address()
server.close(() => resolve(port)) if (!addr || typeof addr === 'string') {
server.close()
reject(new Error('Failed to resolve port'))
return
}
server.close(() => resolve(addr.port))
}) })
server.on('error', reject) server.on('error', reject)
}) })