问题描述
我不断收到“ x不是函数”错误,无法弄清楚是什么原因造成的。
我尝试将播放列表管理器附加到StreamData,但它仍然不接受。
除了PlaylistManager是一个空对象之外,流数据将在结束发射时正确返回,并且当到达调用PlaylistManager的行时,它表示不是函数。
// From The Stream Manager File
PlaylistManager = require('../Playlists/PlaylistManager')
const Streams = new Map()
const addFinishListener = function (StreamData) {
StreamData.stream.on('finish',async () => {
console.log("Song Ended. Emitting finish. Asking the PlaylistManager to Play the Next Track...")
StreamData.PlaylistManager.play_next_track(StreamData)
})
}
// [Create New Stream]
// Plays the next when stream emites finished.
const createNewStream = function (broadcast,PlaylistName,track) {
const stream = yt(track.url,request_options)
broadcast = broadcast.play(stream)
let StreamData = {
stream,track,broadcast,PlaylistName
}
StreamData.PlaylistManager = PlaylistManager
addFinishListener(StreamData)
Streams.set(PlaylistName,StreamData)
return stream;
}
错误:
/// The Output:
Song Ended. Emitting finish. Asking the PlaylistManager to Play the Next Track...
(node:2432) UnhandledPromiseRejectionWarning: TypeError: StreamData.PlaylistManager.play_next_track is not a function
at Passthrough.<anonymous> (C:\Users\jayca\Documents\Code\MyNextdiscordBot\src\service\broadcast\Streams\StreamManager.js:27:36)
at Passthrough.emit (events.js:327:22)
at Object.debug (C:\Users\jayca\Documents\Code\MyNextdiscordBot\src\service\broadcast\Streams\StreamManager.js:52:23)
at processCommand (C:\Users\jayca\Documents\Code\MyNextdiscordBot\src\service\channel\bot-commands.js:27:27)
at Object.on (C:\Users\jayca\Documents\Code\MyNextdiscordBot\src\service\channel\bot-commands.js:15:9)
at C:\Users\jayca\Documents\Code\MyNextdiscordBot\src\service\onMessage.js:11:21
at Array.forEach (<anonymous>)
at Client.<anonymous> (C:\Users\jayca\Documents\Code\MyNextdiscordBot\src\service\onMessage.js:9:18)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (C:\Users\jayca\Documents\Code\MyNextdiscordBot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)