私は基本的なnode.js Webサーバーをcoffeescriptで書いています。私が書くとき:
server.listen(3000, listener)
listener = () ->
console.log 'server listening on port 3000'
サーバーを起動しますが、メッセージは出力しません。したがって、コールバックが呼び出されていないことがわかります。一方、私がするとき:
listener = () ->
console.log 'server listening on port 3000'
server.listen(3000, listener)
メッセージはコンソールに出力されます。
コールバックが呼び出し前に定義されている場合はコールバックが呼び出されるのに、後で定義されている場合はコールバックが呼び出されないのはなぜですか?