如何在coffeeScript中翻译Promise.try

时间:2016-09-20 09:03:11

标签: javascript coffeescript promise bluebird

您好我正在寻找coffe脚本中的代码,该代码在javascript中生成此代码

Promise = require('bluebird');

 myfunction = function(body) {
  return Promise.try(function() {
    return console.log('OK');
  });
};

我尝试过类似的事情:

   Promise      = require 'bluebird'

   myfunction: (body) ->
    return Promise.try ->
      return console.log('OK')

但结果如下:

Promise["try"](function() {});

任何想法?提前致谢

2 个答案:

答案 0 :(得分:3)

我猜你的文件中的缩进是关闭的,因为上面的内容是正确的,除了:

  1. 您不需要return,因为函数/块中的最后一个语句会自动返回。
  2. 您仍然应该使用=进行变量赋值,而不是在定义对象时用于分配属性的:。在Coffeescript中和在Javascript中一样。
  3. 此代码:

    Promise = require 'bluebird'
    
    myfunction = (body) ->
      Promise.try ->
        console.log 'OK'
    

    编译得很好:

    var Promise, myfunction;
    
    Promise = require('bluebird');
    
    myfunction = function(body) {
      return Promise["try"](function() {
        return console.log('OK');
      });
    };
    

答案 1 :(得分:2)

关于Promise.try ->转化为Promise["try"](function …)这是因为try是JS中的reserved keyword