Javascript - Self-executing Anonymous Functions And Callback
Can I use callback with self-executing function? If yes, have you seen any examples? JavaScript self-executing function: (function(){ //Do Stuff })()
Solution 1:
Of course you can - this is common way of enclosing your variables within some function so they do not interfere with global variables (or from separate closures).
Some example:
(function(){
var counter = 0;
var step = function(){
counter++;
console.log(counter + ' Mississipi...');
};
setInterval(step, 1000);
})();
(function(){
var counter = 0;
var step = function(){
counter++;
console.log('3 seconds passed for a ' + counter + ' time');
};
setInterval(step, 3000);
})();
Thanks to the closures, the variables from them are not interfering with the ones from different closure (different anonymous function).
Working example in this jsfiddle.
EDIT:
Is you want to execute the code from some callback in such function, you may write something like that:
var my_own_callback = function(data){
// some code for callback working on data passed
};
// ...
(function(callback){
var result; // future data sent to callback
// do whatever you need here
callback(result);
})(my_own_callback);
or even like that:
(function(callback){
var result; // data that will be sent to callback
// do whatever you need here
callback(result);
})(function(data){
// code for callback using data set to this callback
});
which, however, seems to be rather careless and unnecessarily increasing the complexity of your code.
Solution 2:
Something like that?
(function(callback){
//Do Stuff
//Callback
if(typeof callback === 'function') {
callback();
}
})(myCallback);
Post a Comment for "Javascript - Self-executing Anonymous Functions And Callback"