使用异步功能在ejs view Express js中打印值

问题描述 投票:0回答:1

我从控制器传递了模型以在视图中使用它,但是似乎无法在视图中使用Async函数打印值。在视图中的异步函数中使用模型打印的合适方法是什么?

我需要从用户表中获取userImage。(ps:在同一个地方使用console.log(userImage)起作用,这让我发疯。请帮助我)

        <img src="<% userModel.findById(postData.uid,function(err,user) {%>   <%=user.userImage%>  <% }) %>" class="mx-2"><a href="#" class="mx-2">Anmol D. Pradhan</a>
node.js express ejs
1个回答
0
投票

起初,这绝对不是最佳实践。

您应该执行类似的操作:

    // ...
    const userModel = require('/your-path-to/userModel');
    app.get('/your/url', async (req, res) => {
        const user = await userModel.findById(uid);
        res.render('/youpage.html', {
            user: user
        });
    });
<!-- Here's your EJS template -->

<img src="<%= user.userImage %>" class="mx-2"><a href="#" class="mx-2">Anmol D. Pradhan</a>

这只是一个例子。我不知道您的路线的实际结构,但希望对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.