Express4.x里如何轻松愉快地运用async函数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2400个文字,预计阅读时间需要10分钟。
前言:为了更好地处理异步流程,开发者通常会选用async语法。在Express框架中,可以直接利用async来声明中间件方法,但面对该中间件的错误,无法通过错误捕获来保持流程。
前言
为了能够更好地处理异步流程,一般开发者会选择 async 语法。在 express 框架中可以直接利用 async 来声明中间件方法,但是对于该中间件的错误,无法通过错误捕获中间件来劫持到。
错误处理中间件
const express = require('express'); const app = express(); const PORT = process.env.PORT || 3000; app.get('/', (req, res) => { const message = doSomething(); res.send(message); }); // 错误处理中间件 app.use(function (err, req, res, next) { return res.status(500).send('内部错误!'); }); app.listen(PORT, () => console.log(`app listening on port ${PORT}`));
以上述代码为例,中间件方法并没有通过 async 语法来声明,如果 doSomething 方法内部抛出异常,那么就可以在错误处理中间件中捕获到错误,从而进行相应地异常处理。
本文共计2400个文字,预计阅读时间需要10分钟。
前言:为了更好地处理异步流程,开发者通常会选用async语法。在Express框架中,可以直接利用async来声明中间件方法,但面对该中间件的错误,无法通过错误捕获来保持流程。
前言
为了能够更好地处理异步流程,一般开发者会选择 async 语法。在 express 框架中可以直接利用 async 来声明中间件方法,但是对于该中间件的错误,无法通过错误捕获中间件来劫持到。
错误处理中间件
const express = require('express'); const app = express(); const PORT = process.env.PORT || 3000; app.get('/', (req, res) => { const message = doSomething(); res.send(message); }); // 错误处理中间件 app.use(function (err, req, res, next) { return res.status(500).send('内部错误!'); }); app.listen(PORT, () => console.log(`app listening on port ${PORT}`));
以上述代码为例,中间件方法并没有通过 async 语法来声明,如果 doSomething 方法内部抛出异常,那么就可以在错误处理中间件中捕获到错误,从而进行相应地异常处理。

