不能在for循环中捕获数组的组件



我尝试用另一个数组比较对消息作出反应的所有用户id。为了做到这一点,我已经获取了所有做出反应的用户,现在我尝试遍历它们,但我没有获得条目。

async function compare() {
//fetch reactions
const channel = await interaction.client.channels.fetch(rewardchannel) 
const message = await channel.messages.fetch(rewardpannel)
const reaction = message.reactions.cache.get('✅')
const users = await reaction.users.fetch()
//check users
console.log(users) //1.
//loop through users
for await (const user of users){
console.log(user.id) //2.
}
}

1。Log应该显示用户数组并按预期工作。结果是:

Collection(3) [Map] {
'360053737638723584' => User {
id: '360053737638723584',
bot: false,
system: false,
flags: UserFlags { bitfield: 0 },
username: 'Hell FIre',
discriminator: '7210',
avatar: '4ea6126903e68309b6dc2f7c22c8e30c',
banner: undefined,
accentColor: undefined
},
'964592219745050645' => User {
id: '964592219745050645',
bot: false,
system: false,
flags: UserFlags { bitfield: 0 },
username: 'sola.eth',
discriminator: '6722',
avatar: 'bb3a9026ef8314e4f6be5228e1c955b0',
banner: undefined,
accentColor: undefined
},
'973154369233096717' => ClientUser {
id: '973154369233096717',
bot: true,
system: false,
flags: UserFlags { bitfield: 0 },
username: 'Retweet Rewards',
discriminator: '7150',
avatar: null,
banner: undefined,
accentColor: undefined,
verified: true,
mfaEnabled: true
}
}

然而,2。循环只返回undefined3次。所以它是正确地循环,但它没有捕捉到用户的实际id。我错在哪里?

映射对象数组将遍历每个对象。

// log users
users.map(user => {
console.log(user.id);
})

最新更新