Coffeescript 在使用参数调用第一个参数后提供第二个参数

Coffeescript 在使用参数调用第一个参数后提供第二个参数,coffeescript,Coffeescript,我正在尝试获取以下Javascript: http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); }); 使用以下咖啡脚本: http.createServer app .listen app.get 'port', () -> console.log 'Express ser

我正在尝试获取以下Javascript:

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
使用以下咖啡脚本:

http.createServer app
  .listen app.get 'port', () ->
    console.log 'Express server listening on port'
其结果是:

http.createServer(app).listen(app.get('port', function() {
  return console.log('Express server listening on port');
问题在于,这显然将回调函数作为
app.get
的第二个参数,而不是
http.listen
的第二个参数

http
    .createServer app
    .listen app.get('port'), ->
        console.log "Express server listening on port #{app.get 'port'}"
您只需要在
app.get
参数周围加上括号


注意,有关jQuery批准的样式语法,请参阅。并非所有规则都适用于coffeescript,但方法链接非常有用。

谢谢!遗憾的是,即使在我开始学习CS的几个小时内,这些情况也并非完全不常见。函数调用括号(有时)是可选的,这并不意味着你永远不允许使用它们,如果它能让代码更容易阅读和理解,或者你更喜欢使用它们,那么将它们放进去也没有什么错。