Add EventEmitter#one which adds a one-shot subscription

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-11-28 13:40:09 -07:00
parent 1aa8f26e94
commit d6168b9954
2 changed files with 21 additions and 0 deletions

View File

@@ -16,6 +16,14 @@ module.exports =
@afterSubscribe?()
one: (eventName, handler) ->
oneShotHandler = (args...) =>
@off(eventName, oneShotHandler)
handler(args...)
@on eventName, oneShotHandler
trigger: (eventName, args...) ->
[eventName, namespace] = eventName.split('.')