我在Heroku上部署了我的discord機器人,但它出現了未處理的拒絕承諾的錯誤。 以下是日志
2021-0910T20。 50: 26. 000000 00:00 app[api]: Build由用戶codertanishq@gmail.com啟動。
2021-09-10T20:50:45。 558185 00:00 app[api]: Deploy c608c194 by user codertanishq@gmail.com.
2021-09-10T20:50:45. 558185 00:00 app[api]: Release v11由用戶codertanishq@gmail.com創建。
2021-09-10T20:50:46。 000000 00:00 app[api]: Build成功。
2021-09-10T20:50:46. 978335 00:00 heroku[web.1]。State changed from crashed to starting
2021-09-10T20:50:48. 877754 00:00 heroku[web.1]。Starting process with command `npm start`。
2021-09-10T20:50:51. 529490 00:00app[web.1]。
2021-09-10T20:50:51。 529505 00:00app[web.1]: > start@1.0.0 start /app
2021-09-10T20:50:51。 529506 00:00app[web.1]: > node ./src/bot.js
2021-09-10T20:50:51。 529506 00:00應用[web.1]。
2021-09-10T20:50:51. 762757 00:00應用[web.1]。(node:22) UnhandledPromiseRejectionWarning: ReferenceError。AbortController未定義。
2021-09-10T20:50:51. 762758 00:00app[web.1]: at RequestHandler. execute (/app/node_modules/discord.js/src/rest/RequestHandler. js:172:15)
2021-09-10T20:50:51. 762758 00:00app[web.1]: at RequestHandler. execute (/app/node_modules/discord.js/src/rest/RequestHandler. js:176:19)
2021-09-10T20:50:51。 762758 00:00app[web.1]: at RequestHandler. push (/app/node_modules/discord.js/src/rest/RequestHandler. js:50:25)
2021-09-10T20:50:51. 762759 00:00app[web.1]: at async WebSocketManager. connect (/app/node_modules/discord.js/src/client/websocket/WebSocketManager. js:128:9)
2021-09-10T20:50:51. 762759 00:00app[web.1]: at async Client. login (/app/node_modules/discord.js/src/client/Client. js:245:7)
2021-09-10T20:50:51. 762759 00:00app[web. 1]: (Use `node --trace-warnings ...`以顯示警告是在哪里產生的)
2021-09-10T20:50:51。 763064 00:00app[web.1]。(node:22) UnhandledPromiseRejectionWarning: Unhandled承諾被拒絕。這個錯誤是由于在of一個asyncfunction中拋出而沒有catch塊。或者通過拒絕一個沒有被處理的功能的承諾。 catch()。要在未處理的承諾被拒絕時終止節點行程,請使用CLI標志`-unhandled-rejections=strict`(參見https。 //nodejs. org/api/cli.html#cli_unhandled_rejections_mode)。) (rejection id: 2)
2021-09-10T20:50:51. 763091 00:00app[web.1]。(node:22) [DEP0018] DeprecationWarning: 未處理的承諾拒絕已被廢棄。在未來,未處理的承諾拒絕將終止Node.js行程具有一個非零退出代碼。
2021-09-10T20:50:51。 847328 00:00 heroku[web.1]。Process exited with status 0。
2021-09-10T20:50:51。 902780 00:00 heroku[web.1]。State changed from starting to crashed.
uj5u.com熱心網友回復:
你將不得不升級你的節點版本。你可以在你的package.json中添加以下內容:
" engines": {
"node": "16.9.1"。
}
然后重新部署你的專案,它就可以作業了
uj5u.com熱心網友回復:Discord.js v13需要AbortController來發揮作用,但它只在node 16及以上版本中被引入。你有兩個選擇來解決這個錯誤:
將你在heroku上的node版本升級到16或以上
為你的AbortController使用polyfill,AbortController-polyfill是一個包,你可以這樣利用它:
const { AbortController } = require('abortcontroller-polyfill/dist/cjs-ponyfill') 。
global.AbortController = AbortController;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/319745.html
標籤:
