fix(team): clear advisory timeout reliably
This commit is contained in:
parent
db4a73bda7
commit
a0170aed39
1 changed files with 7 additions and 3 deletions
|
|
@ -479,9 +479,13 @@ export class TeamDataService {
|
||||||
timeoutHandle = setTimeout(resolve, MEMBER_RUNTIME_ADVISORY_SNAPSHOT_BUDGET_MS, timeoutToken);
|
timeoutHandle = setTimeout(resolve, MEMBER_RUNTIME_ADVISORY_SNAPSHOT_BUDGET_MS, timeoutToken);
|
||||||
});
|
});
|
||||||
|
|
||||||
const result = await Promise.race([request, timeout]);
|
let result: Awaited<typeof request> | typeof timeoutToken;
|
||||||
if (timeoutHandle) {
|
try {
|
||||||
clearTimeout(timeoutHandle);
|
result = await Promise.race([request, timeout]);
|
||||||
|
} finally {
|
||||||
|
if (timeoutHandle) {
|
||||||
|
clearTimeout(timeoutHandle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (result === timeoutToken) {
|
if (result === timeoutToken) {
|
||||||
request.catch(() => {
|
request.catch(() => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue