Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@calvinmetcalf
Created June 30, 2013 19:30
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/5896531 to your computer and use it in GitHub Desktop.
Save calvinmetcalf/5896531 to your computer and use it in GitHub Desktop.
better (still bad) ajax worker
//your main script
function ParalellAjax(){
var ajaxWorker = new Worker('worker.js');
this.close = function(){
ajaxWorker.close();
};
this.data = function(url,callback){
ajaxWorker.onmessage = function(e){
callback(null,e.data);
};
ajaxWorker.onerror = function(e){
callback(e);
};
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