javascript - Coffeescript - 方法链与函数参数 [2] 或使用函数而不是参数

标签 javascript syntax coffeescript

最近开始学习CoffeeScript,遇到了这样的问题。我想写 javascript :

TemplateManager.tmpl(this.template, this.modelJSON(), this.templateOptions()).done(
        function(rendered) { // something1
}).fail(function(ex) {
    // something2

});

我可以通过哪种方式获得它?我尝试重写:

TemplateManager.tmpl @template, @modelJSON(), @templateOptions()
    .done (rendered) ->
       #something1
    .fail (ex) ->
       #something2

我得到:

TemplateManager.tmpl(this.template, this.modelJSON(), this.templateOptions().done(function(rendered) {

  }).fail(function(ex) {

  }));

最佳答案

tmpldone 方法添加括号

TemplateManager.tmpl( @template, @modelJSON(), @templateOptions() )
   .done( (rendered) -> 
        #something1 
    )
   .fail (ex) ->
        #something2

解决方案并不优雅,我认为其他人可能会在 coffeescript 中提供更好的方法

已更新

根据评论,删除done 的括号。我已经更新了代码,我认为这个代码很优雅

TemplateManager
   .tmpl(@template, @modelJSON(), @templateOptions())
   .done (rendered) -> 
        some
        code
        here 

   .fail (ex) ->
        another
        code
        here

关于javascript - Coffeescript - 方法链与函数参数 [2] 或使用函数而不是参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15494410/

相关文章:

php - 简化array_map中item的调用方法

javascript - 测试 angularJS ui-router 解析函数

javascript - requestAnimationFrame 在 Firefox 中占用 CPU

javascript - 由于 CORS 问题,无法在 Heroku 上访问 Flask API

java - 缩短 Java 代码的语言技巧?

bash - 一口气测试多个文件条件(BASH)?

javascript - JQuery 函数不返回 JSON 列表 - Play Framework、JPA

javascript 骰子游戏 - 图像不会改变

javascript - Jquery 乘法不起作用?但加法有效

javascript - 在 Opera 中哪里可以禁用跨网络保护?