gpt4 book ai didi

javascript - 从 Jade 模板调用带回调的辅助函数

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:38 24 4
gpt4 key购买 nike

我刚刚开始使用 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 模板中调用一个辅助函数,并将该函数作为一个回调函数。

最佳答案

你想做的:

  1. 解析模板
  2. 检索数据
  3. 使用数据渲染模板

预计 Express 模板将执行以下操作:

  1. 检索数据
  2. 解析和呈现数据

一旦开始渲染,您就不必执行复杂的代码(如果数据库不可用怎么办?)。

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com