我有一个分配给变量的函数,该函数遍历一组成员,并在嵌入中为每个成员显示一条随机的通道+消息,但embed.addField
最终从未运行。
经过大量的故障排除和搜索之后,我一直无法弄清为什么它不起作用。我尝试创建一个单独的async
函数,在async
中()
之前添加/删除const displayStuff = ()
无效。
下面是代码:
const displayStuff = () => message.guild.members.forEach(async (m) => {
const randChannel = message.guild.channels.filter(c => c.type === 'text').random();
const randMsg = await randChannel.fetchMessages({ limit: 100 });
embed.addField(m.displayName,
**Random Channel:** ${randChannel.toString()}
**Random Message:** ${randMsg.random().content.substring(0, 50)}`,
true);
});
我可以确认问题不是不是,而是randMsg
和await/async
是嵌入变量或其他任何问题,因为删除变量并仅显示随机渠道没有问题。
此外,在console.log(randMsg.random().content)
之后执行const randMsg
会记录随机消息的内容(应如此),但是embed.AddField
仍然没有运行,只要等待randChannel.fetchMessages
存在。
非常感谢您的协助,谢谢