【发布时间】:2019-01-10 15:26:03
【问题描述】:
我最近开始研究这个音乐机器人,但我遇到了队列系统的问题。我请求了多个东西,但它最终只播放了两个东西。
代码:
case "~play":
if (queue.length == 0) {
queue.push(args[1]);
dispatcher = guild.voiceConnection.playStream(ytdl(queue[0], {
filter: 'audioonly'
})).on('end', () => {
console.log('finished');
queue.shift();
guild.voiceConnection.playStream(ytdl(queue[0], {
filter: 'audioonly'
}));
});
} else queue.push(args[1]);
break;
队列变量开头是一个空数组。
【问题讨论】:
-
这里没有足够的信息来提供很大帮助,但我怀疑将 ref 发送到队列 [0] 之类的队列项到函数而不是变量的 ref,以防它存储队列引用而不是变量引用。就像,复制变量 ref 并发送它,所以 var x = queue[0] 然后用 x 调用函数
标签: javascript arrays discord.js