summaryrefslogtreecommitdiff
path: root/lib/async.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/async.js')
-rw-r--r--lib/async.js10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/async.js b/lib/async.js
index 8560576..4da10a2 100644
--- a/lib/async.js
+++ b/lib/async.js
@@ -39,20 +39,18 @@
};
function only_once(fn) {
- var called = false;
return function() {
- if (called) throw new Error("Callback was already called.");
- called = true;
+ if (fn === null) throw new Error("Callback was already called.");
fn.apply(this, arguments);
+ fn = null;
};
}
function _once(fn) {
- var called = false;
return function() {
- if (called) return;
- called = true;
+ if (fn === null) return;
fn.apply(this, arguments);
+ fn = null;
};
}