Skip to content

Instantly share code, notes, and snippets.

@calvinmetcalf
Last active December 19, 2015 04:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save calvinmetcalf/5895499 to your computer and use it in GitHub Desktop.
Save calvinmetcalf/5895499 to your computer and use it in GitHub Desktop.
typical (bad) ajax worker
//your main script
function paralellAjax(url,callback){
var ajaxWorker = new Worker('worker.js');
ajaxWorker.onmessage = function(e){
callback(null,e.data);
ajaxWorker.close();
}
ajaxWorker.onerror = function(e){
callback(e);
ajaxWorker.close();
}
ajaxWorker.postMessage(url);
}
//your worker
var quickAjax = function(url,callback){
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function(resp){
if(ajax.readyState === 4 && ajax.status === 200) {
calback(JSON.stringify(ajax.response));
}
}
ajax.open('GET',url,true);
ajax.send();
}
self.onmessage = function(e){
quickAjax(e.data,function(resp){
self.postMessage(resp);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment