async/await如何在sequelize中应用
发布于 1 天前 作者 iori2882 196 次浏览 来自 问答

看了网上的教程,下面的代码我能理解,返回值必须是一个Promise对象,使用await的时候必须包裹在async内 123.png 麻烦大家了,我不知道如何在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

回到顶部