diff --git a/lib/internal/worker/io.js b/lib/internal/worker/io.js index 5bec78e81fa6df..56fea9778f8785 100644 --- a/lib/internal/worker/io.js +++ b/lib/internal/worker/io.js @@ -3,6 +3,7 @@ const { ArrayPrototypeMap, ArrayPrototypePush, + FunctionPrototypeBind, FunctionPrototypeCall, ObjectAssign, ObjectCreate, @@ -348,8 +349,9 @@ class BroadcastChannel extends EventTarget { super(); this[kName] = `${name}`; this[kHandle] = broadcastChannel(this[kName]); - this[kOnMessage] = onMessageEvent.bind(this, 'message'); - this[kOnMessageError] = onMessageEvent.bind(this, 'messageerror'); + this[kOnMessage] = FunctionPrototypeBind(onMessageEvent, this, 'message'); + this[kOnMessageError] = + FunctionPrototypeBind(onMessageEvent, this, 'messageerror'); this[kHandle].on('message', this[kOnMessage]); this[kHandle].on('messageerror', this[kOnMessageError]); }