首页 > 解决方案 > 为什么要使用带有 await 的异步函数而不仅仅是一个函数?

问题描述

请原谅我,但我正在尝试使用 Node 学习 Javascript,但我无法理解为什么这段代码需要一个async function. 我认为异步函数应该被“触发”,然后忘记在后台做某事并在稍后返回结果。

因此,在以下代码(Express 路由器)中,在回调函数中使用 async/await 而不仅仅是将其作为普通函数(删除asyncandawait代码)的目的是什么?

router.get('/homepage', async function (req, res)  {  // why async here?
    let HomepageFeed;
    try {
        HomepageFeed = await api.getHomepageFeed();   // if you're await-ing here?
    } catch (error) {
        if (error.code === 404) {
            return res.status(404).send('404 | Page Not Found');
        }
        return res.status(500).send('500 | Internal Server Error');
    }
    res.json(HomepageFeed);
});

标签: javascriptnode.jsasynchronousasync-await

解决方案


推荐阅读