【问题标题】:Sails.js template helper (filter) with promiseSails.js 模板助手(过滤器)与承诺
【发布时间】:2015-05-21 11:14:42
【问题描述】:

我刚刚进入 Sails.js,想知道 EJS 模板系统是否有办法运行包含承诺或数据库查询的帮助函数。这有效:

在配置/http.js 中:

module.exports.http = {
  // ...
  locals: {
    filters: {
      testHelper: function(input) { return input; }
    }
  }
}

这不是:

module.exports.http = {
  // ...
  locals: {
    filters: {
      testHelper: function(input) {
            MyModal.create({test:'test'}).exec(function(err,mm){
                  return input+'-'+mm.test;
              });
          }
    }
  }
}

第一个总是返回“check”,第二个在模板中使用时总是返回“undefined”"{{ 'check' | testHelper }}"

【问题讨论】:

    标签: sails.js ejs


    【解决方案1】:

    您可以使用像 wait.for 这样的库来包装并返回承诺。我建议将您的“帮助程序”创建为服务并在全局范围内访问它,而不是在您的视图中注入它。

    【讨论】:

    • 非常感谢您的回复,我查看了“wait.for”库,它看起来很棒,您可以发布任何示例,说明我如何使用上述过滤器作为一个例子?
    猜你喜欢
    • 2020-07-23
    • 2015-01-06
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多