【发布时间】:2023-03-17 18:06:01
【问题描述】:
在尝试启动 npm 库时,我想使用不同数量的输入来运行此代码。我唯一的问题是我无法弄清楚如何完成我想要做的事情。
基本上,我希望函数“testfunc(){}”能够运行特定的代码行,每次用参数替换其中的一部分。示例如下:
function testfunc{
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[1]);
console.log(arguments[2]);
console.log(arguments[3]);
console.log(arguments[4]);
console.log(arguments[5]);
}
}
这是我现在拥有的一个例子。我希望用户能够更改消息的编辑次数。
client.on('message', message => {
if(message.content == '69'){
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
function animate() {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
message.channel.send(arguments[1]).then((sentMessage) => wait(1*1000).then((waitDone) => sentMessage.edit(arguments[i])))
// message.channel.send(arguments[1]).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[1])).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[2])).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[3])).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[4]))
// })
// })
// })
// })
// }
}
animate('1','2','3','4')
}}})
client.login(token);
我敢肯定,这里可能有一个简单的答案,我已经开始研究做一个 while 循环的想法,但我不太明白......
【问题讨论】:
-
只是为了让我正确理解您的问题 - 您想像
animate函数的参数长度一样频繁地运行send、wait、edit的序列? -
@eol 我只需要将
send和edit变量设置为不同的参数,然后按照长度运行这些变量。wait被定义为一秒,以便不受 API 的速率限制。 -
好的,我想我明白了,会发布答案:)
标签: javascript node.js variables arguments discord