Skip to content

Commit ff42bcb

Browse files
authoredMar 11, 2025··
fix(web-worker): ensure removeEventListener is bound to worker (#7631)
1 parent 94b27af commit ff42bcb

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed
 

‎packages/web-worker/src/shared-worker.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ export function createSharedWorkerConstructor(): typeof SharedWorker {
9797
addEventListener: (...args: any[]) => {
9898
return this._vw_workerTarget.addEventListener(...args as [any, any])
9999
},
100-
removeEventListener: this._vw_workerTarget.removeEventListener,
100+
removeEventListener: (...args: any[]) => {
101+
return this._vw_workerTarget.removeEventListener(...args as [any, any])
102+
},
101103
get self() {
102104
return selfProxy
103105
},

‎packages/web-worker/src/worker.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ export function createWorkerConstructor(
7575
}
7676
return this._vw_workerTarget.addEventListener(...args as [any, any])
7777
},
78-
removeEventListener: this._vw_workerTarget.removeEventListener,
78+
removeEventListener: (...args: any[]) => {
79+
return this._vw_workerTarget.removeEventListener(...args as [any, any])
80+
},
7981
postMessage: (...args: any[]) => {
8082
if (!args.length) {
8183
throw new SyntaxError(
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1-
self.addEventListener('message', (e) => {
1+
function callback(e: MessageEvent) {
22
self.postMessage(`${e.data} world`)
3-
})
3+
self.removeEventListener('message', callback)
4+
}
5+
6+
self.addEventListener('message', callback)

0 commit comments

Comments
 (0)
Please sign in to comment.