Skip to content

Instantly share code, notes, and snippets.

@colelawrence
Created July 16, 2014 02:59
Show Gist options
  • Select an option

  • Save colelawrence/bb3f920cd5be36c1d8da to your computer and use it in GitHub Desktop.

Select an option

Save colelawrence/bb3f920cd5be36c1d8da to your computer and use it in GitHub Desktop.
A study of promises
{Deferred} = require 'promise.coffee'
# Declare .then((value)->)
log = (value) ->
def = new Deferred
def.resolve console.log value
# return deferred
def.promise
# Declare time to delay
delay = (time) ->
# Return function ((value)->) to .then((value)->)
(value) ->
def = new Deferred
console.log("prev value:", value)
setTimeout (->
def.resolve("Delayed " + time + "ms")
), time
# Return the promise to .then(->return promise)
def.promise
res = delay(1000)(0)
.then delay(2000)
.then log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment