使用来自 Jade 模板的回调调用帮助程序函数
Calling a helper function with callback from a Jade template
我刚刚开始使用Node.js所以请原谅任何愚蠢的行为!!我正在尝试使用 Node.js 创建一个新应用程序。我使用带有Postgresql数据库的Express框架。问题是,在我看来,我想调用一个函数。所以我使用了一个从我的 jade 文件中调用的帮助程序函数。但是由于此函数访问数据库,因此我尝试使用回调以使其工作。
但是,我似乎无法从我的玉模板中调用函数,最后一个参数作为函数。当只传递一个参数并且它不是回调函数时,帮助程序函数工作正常。但由于数据库查询需要一段时间,因此从未显示数据。但是当我尝试从我的 jade 模板调用带有回调的函数时,我收到语法错误。
我在翡翠模板中的函数调用:
#{ nameAndVersion(result.bu_entrep_id, function(error, result)) }
我的辅助函数(这很简单,因为我试图让它工作(:
exports.helpers= {
nameAndVersion: function(entid, callback) {
var x=1;
callback(null, x);
console.log(1);
}
};
我的错误:
500 SyntaxError: Unexpected token )
所以,基本上,我想从我的 jade 模板调用一个帮助函数,并让该函数成为回调函数。
你想做:
- 解析模板
- 检索数据
- 包含数据的渲染模板
快速模板化有望做到:
- 检索数据
- 解析和呈现数据
一旦开始渲染,就不必执行复杂的代码(如果数据库不可用怎么办?
翡翠助手只有一个格式化目的,没有功能。
您应该做的不是调用帮助程序,而是在调用渲染器时提供必要的数据。
app.get('anyPage', function(req, res) {
database.doSomeDataBaseQuery( /* Data base callback */ function(data, err) {
if(!err) res.render('pageTemplate', {dataBaseData:data});
}
});
相关文章:
- 成功回调永远不会被JSONP请求调用
- 为什么(如何)'这'从函数内部调用回调时发生更改
- 如何在点击超链接时调用fullcalendar回调
- 在初始函数完成之前调用回调函数
- 未为路由器应用程序调用Node.Js的回调
- 对中的函数调用进行排序是回调的唯一方法
- Node.js exec调用从不调用回调
- 如何从参数数组中调用回调
- 当我的单元测试失败时,回调被调用了两次
- 回调函数(如afterMove)不被调用
- 如何使用jQuery等待来自回调的异步调用
- FireFox webrtc createoffer,没有任何回调调用
- 如何识别函数是作为方法调用还是作为回调调用
- jquery方法不是从angular回调调用的
- 从回调调用asyncwait
- 你可以使用PhoneGap和iOS从本地代码(而不是回调)调用javascript函数吗?
- Backbone model.fetch()回调(调用setTimeout)中的作用域问题
- React.js:你用一个不可调用的回调调用了' setState '
- 从图表.js选项回调调用 TypeScript 函数
- 如何将js函数从异步调用转换为回调调用