diff --git a/src/lib/cdp.js b/src/lib/cdp.js index 1c3dc59..068c8dc 100644 --- a/src/lib/cdp.js +++ b/src/lib/cdp.js @@ -129,13 +129,13 @@ export default async ({ pipe: { pipeWrite, pipeRead } = {}, port }) => { } return { - onMessage: (_callback, once = false) => { - const callback = once ? msg => { - _callback(msg); - messageCallbacks.splice(messageCallbacks.indexOf(callback), 1); // remove self - } : _callback; - + onMessage: (callback) => { messageCallbacks.push(callback); + + // return function to unhook + return () => { + messageCallbacks.splice(messageCallbacks.indexOf(callback), 1); + }; }, sendMessage,