我有一项任务要使用 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/