mysql - 当推荐选择 promise 时,为什么 express 和 node 大量使用回调?

标签 mysql node.js express callback sequelize.js

我有一项任务要使用 Node、express 和 MySQL 完成。现在 express 需要使用回调,但对于 MySQL,我想使用基于 promise 的 Sequelize ORM

遇到这种情况我该怎么办?

我应该继续将 Sequelize Promises 与 node 和 express 的回调一起使用(我读过这不是一个好的做法!),或者您知道在这种情况下哪个是更好的选择。

我也想知道为什么Node和express用的是Callbacks而不是Promises?是故意的还是别的什么?

提前感谢您的帮助!

最佳答案

Express 和 Node 是在 promises 标准化之前创建的(那不是很久以前)。

在 express 回调中使用 promises 没有问题,你可以使用这种模式来整齐地定义你的路由:

app.use('/myroute', require('./myroutehandler'))

在我的路由处理程序中:

module.exports = function (req, res, next) {
    ...
}

您要避免的是在您的代码中混合 promise 和回调,因为这将很难维护。为避免在使用基于回调的库时出现这种情况,您可以使用类似 es6-promisify 的东西。

关于mysql - 当推荐选择 promise 时,为什么 express 和 node 大量使用回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48467644/

相关文章:

mysql - 连接多个表并使用 MySQL 的 Count

node.js - 为 Node.js 重写 PHP URL

node.js - 将 React + Express 应用程序部署到 Kubernetes。如何用docker构建它?

mysql - nodejs-无法将结果返回给 Controller 函数

typescript - 向 session 对象添加附加属性

php - 将一个单元格的值超链接到另一个单元格

Mysql 查询不返回带有转义\的数据

javascript - 当我运行sequelize.sync()时,为什么我的表没有被更改?

node.js - Bluebird promise, promise.each 只执行一次

node.js - 如何将 shareJS 的文档与文件系统同步