JSFiddle - React, Tailwind, and code Playground
by luizz
JavaScript
//worker.js
function log(args){
self.postMessage({
'data':args,
'callback':'undefined'
});
}
self.addEventListener('message', function(e) {
var data = e.data;
switch (data.cmd) {
case 'menu':
stdReturn = function(menu_json){
postMessage({
'data':montarMenu(menu_json),
'callback':data.callback
});
};
get('/ajax/menumod', stdReturn);
break;
case 'log':
self.postMessage({
'data':'LogDoWork',
'callback':0
});
break;
case 'stop':
self.postMessage('WORKER STOPPED: ' + data.msg + '. (buttons will no longer work)');
self.close(); //sair o worker.
break;
default:
self.postMessage('Unknown command: ' + data.msg);
};
}, false);
log('Iniciado Work');
//js usnado
//Worker by Luizz
Worker.prototype.cmdCall = new Array();
Worker.prototype.cmd = function(cmd, callback){
this.postMessage({'cmd': cmd, 'callback':this.cmdCall.length});
this.cmdCall[this.cmdCall.length] = callback;
}
worker = new Worker('worker.js');
//Adiciona o cmd:menu, call:montarMenu
worker.cmd('menu', montarMenu);