Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. _ = require('underscore')
  2. Backbone = require('backbone')
  3.  
  4.  
  5. class Queue
  6. constructor: ->
  7. _.extend(@, Backbone.Events)
  8. @queue = []
  9.  
  10. dequeue: =>
  11. if @queue.length
  12. callback() for callback in @queue
  13. @queue.length = 0
  14.  
  15. whenCondition: (condition, callback)->
  16. isTrue = if typeof condition is 'function' then condition() else condition
  17.  
  18. if isTrue
  19. callback()
  20. else
  21. @queue.push(callback)
  22.  
  23. whenAvailable: (callback)=> @whenCondition(@available, callback)
  24. whenReady: (callback)=> @whenCondition(@ready, callback)
  25. whenLoaded: (callback)=> @whenCondition(@loaded, callback)
  26.  
  27. module.exports = Queue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement