【发布时间】:2018-01-27 06:22:51
【问题描述】:
我有以下代码:
async function goodUsers(users) {
const filteredUsers = [];
users.forEach(async (userInstance) => {
console.log('TEST1');
const fromUserContacts = await db.userContactInvite.findAll({
where: {
fromUserId: userInstance.id,
},
});
console.log('TEST2');
await fromUserContacts.forEach((fromUserContact) => {
console.log('TEST3');
const userJson = fromUserContact.toJSON();
userJson.contactState = 'INVITATION_SENT';
filteredUsers.push(userJson);
});
console.log('TEST4');
});
console.log('FILTERED', filteredUsers);
return filteredUsers;
}
当我调用 goodUsers 时,我得到以下输出: 测试1 过滤 测试2 测试3 测试4
FILTERED 应该是最后一个(显然)。
我尝试了各种选项,但我似乎不理解这里的某些内容。你们注意到发生了什么吗?
【问题讨论】:
-
你的数据库方法真的返回一个 Promise 吗?
-
没有一个工作
标签: node.js asynchronous async-await koa