【发布时间】:2019-12-04 03:53:08
【问题描述】:
'requestingUserIds' 是一个数组,具有不同的 id。每个 id 都属于表“users”中的一个用户名。这就是为什么我要循环,对于数组“requestingUserIds”中的每个 ID,将相应的用户名循环到数组“requestingUserUsernames”中,最后将完整数组(requestingUserUsernames)记录到控制台中。但是如果我在then函数之外做,只会输出一个空数组,可能是我一开始初始化的数组。
当我在控制台的 then 函数中记录数组“requestingUserUsernames”时,每次循环都会输出数组,但我只想输出最终数组。
requestingUserIds.forEach(userId => {
db('users')
.select('username')
.where({id: userId})
.then(rows => {
requestingUserUsernames.push(rows[0].username);
})
.catch(error => console.log(error));
});
console.log(requestingUserUsernames);````
【问题讨论】:
-
因为它是一个异步操作......你还没有回复
-
这是我的假设,但我该如何解决呢?
标签: javascript arrays node.js loops knex.js