我想从我的 ejs 文件中调用我的一些异步函数。
就像我将此功能设置为我的 app.locals.someFunction
async someFunction(param){
let data = await someAsyncStuff();
// & other things
return data;
}
我想在 ejs 文件中使用它,如下所示:
<%
let data = await someFunction()
for(let x of data){%>
<li><%=x%></li>
<%}%>
如果
{async:true}
,这对 ejs 来说是可能的作为选项传递。但是,当我的 View 引擎设置如下所示时,我到底应该在哪里传递它?
//view engine setup
app.engine ('.html', ejs.renderFile);
app.set ('view engine', 'html');
最佳答案
而是 res.render()
const ejs = require('ejs');
const html = await ejs.renderFile(view, data, {async: true});
res.send(html);
每个包含等待
<body>
<%- await include(pageView);%>
</body>
异步现在很好
<%
let data = await collection.find().toArray();
for(let x of data){%>
<li><%=x%></li>
<%}%>
关于node.js - ejs async true 与 node Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60203249/