【发布时间】:2020-06-27 13:57:27
【问题描述】:
我在嵌套的 foreach 循环中找到所有用户的钱包,但我无法弄清楚在哪里使用 resolve() 进行返回回调,
function genwallets() {
return new Promise((resolve, reject) => {
var i = 0;
try {
db.users.findAll({}).then((users)=>{
db.supportedTokens.findAll({}).then((tokens)=>{
users.forEach(function(user) {
tokens.forEach(function(token) {
db.wallets.findOne({where:{userId: user['id'], supportedTokenId: token['id']}}).then((wallet)=>{
console.log(JSON.stringify(wallet));
})
});
});
})
});
} catch (err) {
console.log(err);
}
});
}
【问题讨论】:
-
在 forEach 之后使用它。 forEach 不是异步的
-
您可能还想重写嵌套结构
-
如果您使用的是
Promise,那么您为什么要创建callback hell 场景?
标签: javascript node.js express sequelize.js