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

时间:2014-01-31 13:29:51

标签: coffeescript

我正在尝试获取以下Javascript:

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

使用以下Coffeescript:

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的第二个参数。

1 个答案:

答案 0 :(得分:1)

http
    .createServer app
    .listen app.get('port'), ->
        console.log "Express server listening on port #{app.get 'port'}"

您只需要在app.get参数周围添加括号。

注意,请参阅http://contribute.jquery.org/style-guide/js/了解jQuery批准的样式语法。并非所有规则都适用于coffeescript,但链接方法非常有用。