discord.js获取用户的每个响应列表

问题描述 投票:0回答:1

好,所以我已经花了一段时间了,我不是在制作投票机器人,而是被卡在这部分代码上,我的意思是显示每个单击了不和谐反应的用户的列表,但是没有正确显示出来,似乎在控制台日志中同时打印了两个选项后显示用户

choices = {
        "👍": "yes",
        "👎": "No"
    }


    message.channel.fetchMessage(messageid ).then(r => {
        r.reactions.forEach(async (H) => {
            console.log(choices[H.emoji.name]);
            users = await H.fetchUsers();
            await  users.forEach(g => {
                    console.log(g.username);
                });

        });
       ```
but I am getting 
yes 
no 
bob 
Sarah
luke 
john  
when I am trying to get 
yes 
bob 
Sarah
luke 
No
john  




好,所以我已经花了一段时间了,我不是在制作投票机器人,而是被卡在这部分代码上,我的意思是显示在..中点击了响应的每个用户的列表。 。

javascript foreach bots discord.js
1个回答
0
投票

发生的是您的async forEach同时运行,在回调函数中等待并不会阻止循环继续进行下一个迭代。每次运行时,您甚至可能会看到略有不同的结果。记录表情符号名称的速度非常快,因此首先在每个迭代中完成此操作,然后等待fetchUsers,结果是“是”和“否”。

© www.soinside.com 2019 - 2024. All rights reserved.