async-once
Guarantee a node-style async function is only executed once.
Usage
var once = require('async-once');
var count = 0;
var myAsyncFunc = once(function(cb){
count++;
cb(null, count);
});
myAsyncFunc(function(err, result){
assert(result === 1);
});
myAsyncFunc(function(err, result){
assert(result === 1);
});
assert(count === 1);
API
once(fn)
Takes a node-style async function (fn
) to ensure it's only called once. The function should accept a callback as its last parameter which is called with cb(err, result)
. Returns a function that can be called any number of times but will only execute once. Arguments passed to the returned function will be passed to the fn
.
License
MIT