Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3a7b3b8

Browse files
committed
fix: Clear timeout in activity Context sleep if cancelled
1 parent d1bb4ef commit 3a7b3b8

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

packages/activity/src/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,10 @@ export class Context {
190190
* @returns a Promise that either resolves when deadline is reached or rejects when the Context is cancelled
191191
*/
192192
public sleep(ms: number): Promise<void> {
193-
const timer = new Promise<void>((resolve) => setTimeout(resolve, ms));
194-
return Promise.race([this.cancelled, timer]);
193+
let handle: NodeJS.Timeout;
194+
const timer = new Promise<void>((resolve) => {
195+
handle = setTimeout(resolve, ms);
196+
});
197+
return Promise.race([this.cancelled.finally(() => clearTimeout(handle)), timer]);
195198
}
196199
}

0 commit comments

Comments
 (0)