- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我刚刚开始使用 Node.js,所以请原谅我的愚蠢!!!我正在尝试使用 Node.js 创建一个新应用程序。我将 Express 框架与 Postgresql 数据库一起使用。问题是在我看来,我想调用一个函数。所以我使用了一个从我的 jade 文件中调用的辅助函数。但是因为这个函数访问数据库,我试图使用回调来让它工作。
但是,我似乎无法从我的 jade 模板中调用函数并将最后一个参数作为函数。当只有一个参数被传递并且它不是回调函数时,辅助函数工作正常。但是因为查询数据库需要一段时间,一直没有显示数据。但是当我尝试从我的 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 模板中调用一个辅助函数,并将该函数作为一个回调函数。
最佳答案
你想做的:
预计 Express 模板将执行以下操作:
一旦开始渲染,您就不必执行复杂的代码(如果数据库不可用怎么办?)。
Jade 助手仅具有格式化目的,没有功能。
您应该做的不是调用助手,而是在调用渲染器时提供必要的数据。
app.get('anyPage', function(req, res) {
database.doSomeDataBaseQuery( /* Data base callback */ function(data, err) {
if(!err) res.render('pageTemplate', {dataBaseData:data});
}
});
关于javascript - 从 Jade 模板调用带回调的辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10578517/
这个问题在这里已经有了答案: Call native javascript function that has been "erased" by the web page (1 个回答) 关闭 4
我有一个 UITableViewController。 但是当我滚动到顶部时,可以在状态栏上看到表格数据,如下所示: 我怎样才能绕过这个时刻? 最佳答案 您可以使用下一个代码段隐藏状态栏: overr
我想让一个 View 显示在另一个 View 的顶部。 这是我的 View 层次结构: 基本上我想把按钮(重新开始)放在属于 PageViewController 的 UIImageView 前面。所
这是一个代码片段 tips = sns.load_dataset("tips") g = sns.FacetGrid(tips, col = 'time') g = g.map(plt.hist, "
下面的 php 数据库查询(来自 phpMyAdmin)只将一个值(第一个或最旧的)带回 amcharts: set_no_cache(); // do whatever you wa
我正在使用 mootools 从一个元素中获取 id,但它不起作用,它返回了 id 和 null。 $$(".obj").addEvent("click",function(){ var o
从内存中,微软拿了 AppDomain离开了,这个机制已经被关闭了。 现在突然发现AppDomain回来了: Assembly System.Runtime.Extensions, Version=4
我是一名优秀的程序员,十分优秀!