我正在使用 coffeescript 编写一个基本的 node.js Web 服务器。当我写:
server.listen(3000, listener)
listener = () ->
console.log 'server listening on port 3000'
它启动服务器,但不打印消息。所以我收集到回调没有被调用。另一方面,当我这样做时:
listener = () ->
console.log 'server listening on port 3000'
server.listen(3000, listener)
消息打印在控制台上。
如果回调是在调用之前定义的,为什么回调会被调用,但如果它是在之后定义的则不会?