trying stuff

This commit is contained in:
Jade (Rose) Rowland 2024-01-10 14:43:18 -05:00
parent d329ccc4e3
commit f1eaa83af5
3 changed files with 20 additions and 11 deletions

View file

@ -65,15 +65,21 @@ self.onconnect = function (e) {
var port = e.ports[0]; var port = e.ports[0];
allPorts.push(port); allPorts.push(port);
allPorts.forEach((port) => { sendMessage('yooooo');
port.postMessage('yoooo');
port.addEventListener('message', function (e) {
// get the message sent to the worker
processMessage(e.data);
}); });
port.start(); // Required when using addEventListener. Otherwise called implicitly by onmessage setter. port.start(); // Required when using addEventListener. Otherwise called implicitly by onmessage setter.
}; };
self.onmessage = (message) => { const processMessage = (message) => {
console.log(message);
const { type, payload } = message; const { type, payload } = message;
switch (type) { switch (type) {
case 'cpschange': { case 'cpschange': {
if (payload.cps !== cps) { if (payload.cps !== cps) {

View file

@ -1,7 +1,7 @@
import { logger } from './logger.mjs'; import { logger } from './logger.mjs';
const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); // const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url));
sharedworker.port.start(); // sharedworker.port.start();
export class NeoCyclist { export class NeoCyclist {
constructor({ onTrigger, onToggle, latency = 0.1, onError }) { constructor({ onTrigger, onToggle, latency = 0.1, onError }) {
@ -10,7 +10,9 @@ export class NeoCyclist {
this.onToggle = onToggle; this.onToggle = onToggle;
this.latency = latency; this.latency = latency;
this.worker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); this.worker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url));
this.worker.port.start();
this.worker.port.addEventListener('message', (message) => { this.worker.port.addEventListener('message', (message) => {
console.log(message);
const { payload, type } = message; const { payload, type } = message;
switch (type) { switch (type) {
case 'tick': { case 'tick': {
@ -42,7 +44,8 @@ export class NeoCyclist {
} }
now() { now() {
this.sendMessage('requestcycles', {}); return performance.now();
// this.sendMessage('requestcycles', {});
} }
setCps(cps = 1) { setCps(cps = 1) {
this.sendMessage('cpschange', { cps }); this.sendMessage('cpschange', { cps });

View file

@ -39,12 +39,12 @@ export function repl({
console.log(answer); console.log(answer);
}; };
const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url)); // const sharedworker = new SharedWorker(new URL('./cyclistworker.js', import.meta.url));
sharedworker.port.start(); // sharedworker.port.start();
sharedworker.port.addEventListener('message', (message) => { // sharedworker.port.addEventListener('message', (message) => {
console.log(message); // console.log(message);
}); // });
const updateState = (update) => { const updateState = (update) => {
Object.assign(state, update); Object.assign(state, update);