Skip to content

Instantly share code, notes, and snippets.

@brandonbloom
Created September 7, 2011 22:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brandonbloom/1202000 to your computer and use it in GitHub Desktop.
Save brandonbloom/1202000 to your computer and use it in GitHub Desktop.
queue = []
providerA = (args...) ->
console.log args
providerB = (args...) ->
alert args
doRequest = (args...) ->
queue.push args
chooseProvider = (callback) ->
timeout = null
setProvider = (provider) ->
clearTimeout timeout
doRequest = provider
for args in queue
doRequest args...
setDefaultProvider = ->
setProvider providerA
timeout = setTimeout(setDefaultProvider, 1000)
callDiscoveryService
success: (response) ->
setProvider f(response)
error: ->
setDefaultProvider
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment