【发布时间】:2018-12-02 14:54:50
【问题描述】:
我的函数名为 createUser():
const createUser = () => {
return new Promise(async (resolve, reject) => {
var data = await Home.findAll({ raw: true })
await data.forEach(async (client) => {
await postgresDB.createSchema(client.code).then(async () => {
await Object.keys(postgresDB.models).forEach(async (currentItem) => {
await postgresDB.models[currentItem].schema(client.code).sync();
});
});
});
resolve('Postgres schema created')
});
}
我的 nodejs api:
exports.createBusiness = (req, res) => {
const business = {
name: req.body.name,
code: req.body.code,
email: req.body.email,
};
Business.create(business)
.then((rawbusinessData) => {
createUser() // this needs to completed full then only i need to move to below then function
.then(() => {
const businessData = rawbusinessData.get({ plain: true });
const loginDetails = {
username: 'sameer',
password: encrypt('sameer'),
};
postgresDB.models.login.schema(businessData.code).create(loginDetails)
.then((loginData) => {
console.log('loginData:', loginData);
return res.status(200).send(loginData);
}).catch((err) => {
console.log('error while create schema:', err);
});
});
})
.catch((err) => {
console.log('err:', err);
});
};
不知道是什么问题,苦苦挣扎了三天多。
我使用的是正确的语法吗?还是只使用 Promise 好?
【问题讨论】:
-
如果你使用
async/await,为什么你的代码中有这么多then调用?
标签: javascript node.js asynchronous callback promise