来自 C++ 和 Python,我仍然在与无处不在的 Javascript 异步作斗争。有时它非常有用,但有时我只是不知道如何在不编写糟糕代码的情况下适应它。
我有一个 Node.js + Express CRUD 设置,在继续请求之前我必须做一些基本的检查。我想在运行最终查询之前检查 http POST 字段是否与数据库字段匹配。我不能将它声明为异步函数并使用等待,因为它必须匹配给定的接口。
showColumns(dbTable)返回带有 SHOW COLUMNS 查询的数据库前提。
我找到的唯一解决方案是:
database.showColumns(dbTable).then((columns)=>{
//But do I really need to put all my logic inside a then???
let row = Object.keys(req.body).filter({}.hasOwnProperty.bind(columns));
//... all the rest of the logic goes here
});
在您看来,解决这个问题的最干净/最优雅的方法是什么?