如何在 GET 请求中使用 fetch 并呈现这些结果?

How to use fetch inside GET request and render those result?

我在 Node 中使用 express router,我正在尝试使用从 API 获取的一些数据来呈现页面。但是,我完全没有得到任何结果,这不是 API 的错误。我手动检查了控制台,结果 returns 符合预期。

这是我的代码:

router.get('/dashboard', ensureAuth, async (req, res) => {
    try {
        const resp = await fetch("https://api.tvmaze.com/shows?page=1")
        const respData = await resp.json()

        res.render('dashboard', {
            name: req.user.firstName,
            image: req.user.image,
            shows: respData
        })
    } catch (error) {
        res.render('dashboard', {
            name: req.user.firstName,
            image: req.user.image
        })
    }

}) 

编辑: 这是正在呈现的视图:

<body>
        {{#if shows}}
        {{#each shows}}
        <img src="{{image.original}}" alt="{{name}}" />
        <div class="movie-info">
            <h3>{{name}}</h3>
            <span>{{weight}}</span>
        </div>
        {{/each}}
        {{else}}
        <p>No shows available.</p>
        {{/if}}
</body>

我在网上搜索过,但找不到问题所在的解释。如果这是重复的,请将我重定向到原始文件。谢谢

您不能在节点内使用 fetch,因为它只能在浏览器中使用。如果您想从节点应用程序发出 HTTP 请求,请使用 axiosnode-fetch