messageport-observable
Version:
This provides some magic wrappers for [MessagePort][1] objects and things that resemble them (windows/iframes, workers, etc.). The wrapped objects still have the same API as MessagePorts, but also have some additional features.
17 lines (13 loc) • 423 B
JavaScript
importScripts('messageport-observable.js');
const wrapPort = MessagePortObservable.wrapPort;
const myPort = wrapPort(self);
myPort.filter(event => event.data === 'ping')
.subscribeAndPostReplies(event => {
console.log('ping', event.data);
return ['pong'];
});
myPort.filter(event => event.data === 'pong')
.subscribeAndPostReplies(event => {
console.log('pong', event.data);
return ['ping'];
});