// Het object
testObject = function(){
var data = '';
// Methode met een vertraging
this.testMethod1 = function(){
// Geef aan dat testMethod1 bezig is met uitvoeren
process['testMethod1'] = true;
setTimeout(
(function(){
// Geef aan dat testMethod1 klaar is met uitvoeren
process['testMethod1'] = false;
data = 'This is some dummy content';
}), 3000
);
}
// Schrijf de waarde van data op het scherm
this.testMethod2 = function(){
document.write(data); // This is some dummy content
}
}
// Creeer een instantie van het object
object = new testObject();
// Voer de methode met de vertraging uit
object.testMethod1();
// Voer testMethod2 uit wanneer testMethod1 klaar is met uitvoeren
// Wanneer er geen gebruik wordt gemaakt van de afterLoad methode wordt er een lege string op het scherm geprint.
object.afterProcess(
'testMethod1',
(function(){
object.testMethod2();
})
);
// Het object
testObject =function(){
var data ='';
// Methode met een vertraging
this.testMethod1=function(){
// Geef aan dat testMethod1 bezig is met uitvoeren
process['testMethod1']=true;
setTimeout(
(function(){
// Geef aan dat testMethod1 klaar is met uitvoeren
process['testMethod1']=false;
data ='This is some dummy content';
}),3000
);
}
// Schrijf de waarde van data op het scherm
this.testMethod2=function(){
document.write(data);// This is some dummy content
}
}
// Creeer een instantie van het object
object =new testObject();
// Voer de methode met de vertraging uit
object.testMethod1();
// Voer testMethod2 uit wanneer testMethod1 klaar is met uitvoeren
// Wanneer er geen gebruik wordt gemaakt van de afterLoad methode wordt er een lege string op het scherm geprint.
/**
* Extend all objects with the process property
*
* @author Gert-Jan Jansma <gj.jansma@gmail.com>
* @param Object Container for process names
*/
Object.prototype.process = {};
/**
* Extend all objects with the afterProcess Method
*
* @author Gert-Jan Jansma <gj.jansma@gmail.com>
* @param string processName Name of the process
* @param function fn Function to be executed after a process
* @param int interval Delay time in microseconds
*/
Object.prototype.afterProcess = function(processName, fn, interval){
var afterProcess = setInterval(
(function(){
if(process[processName] === false){
fn();
clearInterval(afterProcess);
}
}), ((interval) ? interval : 100)
);
};
/**
* Extend all objects with the process property
*
* @author Gert-Jan Jansma <gj.jansma@gmail.com>
* @param Object Container for process names
*/
Object.prototype.process={};
/**
* Extend all objects with the afterProcess Method
*
* @author Gert-Jan Jansma <gj.jansma@gmail.com>
* @param string processName Name of the process
* @param function fn Function to be executed after a process