本文主要介绍JavaScript node.js中,使用Discord.js v13时报错(node:11216) UnhandledPromiseRejectionWarning: ReferenceError: AbortController is not defined的解决方法。

示例代码:

const { Client, Intents } = require("discord.js");
const client = new Client({
  intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES],
});
client.once("ready", () => {
  console.log("Ready!");
});
client.login("my-token");

报错信息:

(node:11216) UnhandledPromiseRejectionWarning: ReferenceError: AbortController is not defined
at RequestHandler.execute (C:\pathTo\node_modules\discord.js\src\rest\RequestHandler.js:172:15)

问题原因:

使用 Discord.js v13的先决条件之一是需要使用 NodeJS v16.6或更高版本,可以使用更新命令如下,

npm install -g n
n lts

注意npm install -g n命令安装命令行接口n,然后n lts是使用n更新到node的最新稳定版本。

或者

如不想在所有系统中安装node.js v16,只需要将它添加到项目中,命令如下,

npm install node@16.6.1 --save-exact

查看版本:

node -v


推荐文档