jQuery Deferredでthenが処理を待ってくれない
コメントアウトしている箇所は正しく動作するのですが、一番下のDeferredインスタンスを利用する方法だと、処理を待たずにdelayメソッドが同時に実行されてしまします。何故なのでしょうか?
delay = (msg)->
$.Deferred (p)->
setTimeout ->
console.log msg
p.resolve()
,1000
#delay('test').done ->
# delay('test2').done ->
# delay('test3').done ->
#delay('start')
#.then ->delay(1)
#.then ->delay(2)
#.then ->delay(3)
#$.Deferred().resolve()
#.then ->delay(1)
#.then ->delay(2)
#.then ->delay(3)
d = new $.Deferred()
d.then ->delay(1)
d.then ->delay(2)
d.then ->delay(3)
d.resolve()