refactor(desktop): 用类型收窄替代 as AddressInfo 断言
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import { spawn } from 'node:child_process'
|
||||
import type { AddressInfo } from 'node:net'
|
||||
import { createServer } from 'node:net'
|
||||
import { join } from 'node:path'
|
||||
import { app, BrowserWindow, shell } from 'electron'
|
||||
@@ -13,8 +12,13 @@ const getAvailablePort = (): Promise<number> =>
|
||||
new Promise((resolve, reject) => {
|
||||
const server = createServer()
|
||||
server.listen(0, () => {
|
||||
const { port } = server.address() as AddressInfo
|
||||
server.close(() => resolve(port))
|
||||
const addr = server.address()
|
||||
if (!addr || typeof addr === 'string') {
|
||||
server.close()
|
||||
reject(new Error('Failed to resolve port'))
|
||||
return
|
||||
}
|
||||
server.close(() => resolve(addr.port))
|
||||
})
|
||||
server.on('error', reject)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user