Express JS对请求使用异步功能

Express JS对请求使用异步功能,第1张

Express JS对请求使用异步功能

异步等待可以毫无问题地用于数据库查询。您可以使用try catch,但是有一个更优雅的解决方案,该解决方案使您可以使用提供以下功能的错误处理中间件

您可以使用以下功能包装中间件:

const asyncMiddleware = fn =>  (req, res, next) => {    Promise.resolve(fn(req, res, next))      .catch(next);  };

然后,您可以按以下方式使用它:

const asyncMiddleware = require('./utils/asyncMiddleware');router.get('/', asyncMiddleware(async (req, res, next) => {        const user = await getUserFromDb({ id: req.params.id })    res.json(user);}));

如果抛出错误,则控件将被移交给错误处理中间件,该中间件是middlware,它具有以下四个参数:

app.use(function (err, req, res, next) {   // your error pre})


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5087678.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存