[Refactoring] Avoid redundant promise rejections (2)
This commit is contained in:
parent
2f7e2fc266
commit
c4168aa441
@ -170,10 +170,13 @@ function setupIosHealthCheck() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function ensureWorkerPing() {
|
async function ensureWorkerPing() {
|
||||||
|
let isResolved = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await Promise.race([
|
await Promise.race([
|
||||||
makeRequest({ type: 'ping' }),
|
makeRequest({ type: 'ping' }),
|
||||||
pause(HEALTH_CHECK_TIMEOUT).then(() => Promise.reject(new Error('HEALTH_CHECK_TIMEOUT'))),
|
pause(HEALTH_CHECK_TIMEOUT)
|
||||||
|
.then(() => (isResolved ? undefined : Promise.reject(new Error('HEALTH_CHECK_TIMEOUT')))),
|
||||||
]);
|
]);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
@ -182,5 +185,7 @@ async function ensureWorkerPing() {
|
|||||||
if (Date.now() - startedAt >= HEALTH_CHECK_MIN_DELAY) {
|
if (Date.now() - startedAt >= HEALTH_CHECK_MIN_DELAY) {
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
isResolved = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -152,8 +152,9 @@ export async function requestPart(
|
|||||||
const messageId = generateIdFor(requestStates);
|
const messageId = generateIdFor(requestStates);
|
||||||
const requestState = {} as RequestStates;
|
const requestState = {} as RequestStates;
|
||||||
|
|
||||||
|
let isResolved = false;
|
||||||
const promise = Promise.race([
|
const promise = Promise.race([
|
||||||
pause(PART_TIMEOUT).then(() => Promise.reject(new Error('ERROR_PART_TIMEOUT'))),
|
pause(PART_TIMEOUT).then(() => (isResolved ? undefined : Promise.reject(new Error('ERROR_PART_TIMEOUT')))),
|
||||||
new Promise<PartInfo>((resolve, reject) => {
|
new Promise<PartInfo>((resolve, reject) => {
|
||||||
Object.assign(requestState, { resolve, reject });
|
Object.assign(requestState, { resolve, reject });
|
||||||
}),
|
}),
|
||||||
@ -164,6 +165,7 @@ export async function requestPart(
|
|||||||
.catch(() => undefined)
|
.catch(() => undefined)
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
requestStates.delete(messageId);
|
requestStates.delete(messageId);
|
||||||
|
isResolved = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
client.postMessage({
|
client.postMessage({
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user