targets.forEach(member => member.roles.remove(role))
既然担心达到速率限制,那么可以做到每个成员每隔1秒删除角色吗?我已经定义了“角色”和“目标”。 我已经完成了项目,但不知道如何添加1秒的间隔。
答案 0 :(得分:2)
在 JavaScript 中,您可以使用 setInterval 或 setTimeout 函数来安排事件。
var index = 0;
var myInterval = setInterval(function() {
if (index < targets.length - 1)
targets[index].roles.remove(role);
else
clearInterval(myInterval);
index++;
}, 1000);
1000 是循环运行之间的毫秒数。我还注意到您执行了 roles.remove,即使您的文字说添加。
编辑:我意识到我忘记增加索引,所以我添加了它。
答案 1 :(得分:1)
是的 -- 使用 setTimeout
。并通过使用每个角色的索引来抵消每个超时。
targets.forEach((member, i) => {
setTimeout(() => {
member.roles.remove(role)
}, i*1000);
});