Created
May 25, 2016 12:05
-
-
Save ppscvalentin/ad63350274bfa98300937132ea0b070f to your computer and use it in GitHub Desktop.
Apply function once
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function once(fn, context) { | |
var result; | |
return function() { | |
if(fn) { | |
result = fn.apply(context || this, arguments); | |
fn = null; | |
} | |
return result; | |
} | |
} | |
// Usage | |
var canOnlyFireOnce = once(function() { | |
console.log('Fired!'); | |
}); | |
canOnlyFireOnce(); // "Fired!" | |
canOnlyFireOnce(); // nada | |
/* | |
Many JavaScript toolkits offer this as a feature but the code | |
to accomplish this feat is so small that it's good to have | |
available in the case that you can dodge a JavaScript toolkit! | |
- David Walsh, https://davidwalsh.name/javascript-once | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment