step.jsを使って非同期処理をわかりやすくしようとしたらはまった。
step(-> request uri:uri headers: headers , this , -> console.log arguments )
上記だと二段目の関数の引数にrequestオブジェクトが渡される。
responseが取れなくて、なぜ〜?と悩んでいたが原因は以下だった。
・step.jsは値がreturnされるとそれを次の関数に渡す仕様
・coffeescriptは最後に評価された値を自動でreturnする
なのでreturnをrequestの後に追加すれば正しく動いた。
step(-> request uri:uri headers: headers , this return , -> console.log arguments )
これはちょっとださいがしょうが無いか。。