handle download process of puppeteer not change to long (will encounter this when network disconnected when downloading)

This commit is contained in:
bossgeekgo
2024-02-17 19:08:17 +08:00
parent 57f20310af
commit 294213c442

View File

@@ -21,16 +21,34 @@ export const checkAndDownloadDependenciesForInit = async () => {
)
try {
await checkAndDownloadPuppeteer({
downloadProgressCallback(downloadedBytes: number, totalBytes: number) {
pipe?.write(
JSON.stringify({
type: 'PUPPETEER_DOWNLOAD_PROGRESS',
totalBytes,
downloadedBytes
})
) + '\r\n'
}
let timeoutTimer = 0
await new Promise((resolve, reject) => {
checkAndDownloadPuppeteer({
downloadProgressCallback(downloadedBytes: number, totalBytes: number) {
clearTimeout(timeoutTimer)
if (downloadedBytes !== totalBytes) {
timeoutTimer = setTimeout(() => {
// will encounter this when network disconnected when downloading
reject(new Error('PROGRESS_NOT_CHANGED_TOO_LONG'))
}, 30 * 1000)
}
console.log(downloadedBytes / totalBytes)
pipe?.write(
JSON.stringify({
type: 'PUPPETEER_DOWNLOAD_PROGRESS',
totalBytes,
downloadedBytes
})
) + '\r\n'
}
}).then(
() => {
resolve(void 0)
},
(err) => {
reject(err)
}
)
})
app.exit(DOWNLOAD_ERROR_EXIT_CODE.NO_ERROR)
} catch (err) {