async/await如何在sequelize中应用
看了网上的教程,下面的代码我能理解,返回值必须是一个Promise对象,使用await的时候必须包裹在async内 麻烦大家了,我不知道如何在sequelize中应用!比如下面我之前的代码,我在不改动代码的情况下,可以在外面直接使用await调用么?如果不可以应该怎样改写啊?不明白不明白…
add : function (ItemsApplication,callback) {
console.log("Access The Method[addBasicSettings] Starting...");
var option = {
isNeedId:true,
isNeedUUId:true,
pkColumn:'items_app_id'
};
var ItemsApplicationModel = _getModel('sys_org_items_app','/src/box/models/ItemsApplicationModel',option);
_dbManager.transaction(function (t) {
return ItemsApplicationModel.create(ItemsApplication,{
transaction : t
}).then(function (result) {
return callback(null,result);
})
}).catch(function (err) {
console.log("具体信息:"+err);
_LogUtil.writeErrorMsg( err.message);
return callback(new Error('添加失败'));
});
},};\n```
能在不改上面的代码的情况下像下面那样直接调用?
await ItemController.add(item1,function (err,result2)
await ItemController.add(item2,function (err,result2)
2 回复
既然用 await ,就不应该有回调了吧?
try{
const result = await ItemController.add(item1)
}catch(e){
}
你把这个add方法改造下返回promise不就好了
来自酷炫的 CNodeMD