javascript - Web Workers creation inside Ajax callback -


i saw that's possible ajax requests inside web worker, want ajax call via jquery (outside worker, of course), , after this, pass result of callback worker. made tests , works, want know if there's wrong (memory leaks, incompatibility, instability):

  $.ajax         ({             type: 'get',              url : 'http://192.168.0.2/json.php',             data: requestdataobj,             datatype: 'json'         }).success(function(jsonresult)         {             var jsonworker = new worker('http://localhost/webmail/responsive/js/workers.js');             jsonworker.postmessage(jsonresult);             jsonworker.onmessage = function(event)             {                 alert(event.data)             }          }); 

as can see, pass jsonresult worker, , post message main thread. wrong this?

the problem see you're assuming browser has support window.worker, not case.

in case blocking application feasible — computation you're expecting worker light — paste entire code of worker inside ajax callback [1].

thus

...success(function (res) {     if (window.worker) {         var worker = new worker(...);         worker.onmessage = function (e) { /* ... */ };         worker.postmessage(res);     }     else {         // write here same code worker         // supposed execute "on" res.     } }); 

course lose performance improvement gained 2 threads.


[1] done here @afshinm.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -