getting SyntaxError: await is only valid in async functions and the top level bodies of modules while working through the discord.js guide
getting SyntaxError: await is only valid in async functions and the top level bodies of modules while working through the discord.js guide
我正在阅读 discord.js 的指南,但是当我尝试为斜杠命令设置权限时,我不断收到 SyntaxError: await is only valid in async functions and the top level bodies of modules。不确定我是否遗漏了什么,或者它是否很简单,因为我是新手,但我找不到解决方案。
这是我正在尝试使用的指南中的代码
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
我意识到我没有把它放在一个函数中,我不知道我是怎么错过的,但我想我真的需要休息一下,因为我在做了一个之后就得到了它。
你也可以试试这个:
(async function(){
if (!client.application?.owner) await client.application?.fetch();
//And more await calls...
})();
您需要将 await
包装在一个带有 async
标记的函数中,如果您还没有的话。
试试下面的代码!
// Change the name of the function to whatever name you want!
const discordFetchData = async () => {
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
};
discordFetchData();
上面的代码会让您基本了解如何处理您的代码(将其包装在 async
函数中)。
您还可以将函数设为 self-calling、匿名、异步函数,如下所示。
(async () => {
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
})();
最终,这两种解决方案都会奏效!
有关详细信息,请访问 async
function - JavaScript | MDN。
我正在阅读 discord.js 的指南,但是当我尝试为斜杠命令设置权限时,我不断收到 SyntaxError: await is only valid in async functions and the top level bodies of modules。不确定我是否遗漏了什么,或者它是否很简单,因为我是新手,但我找不到解决方案。
这是我正在尝试使用的指南中的代码
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
我意识到我没有把它放在一个函数中,我不知道我是怎么错过的,但我想我真的需要休息一下,因为我在做了一个之后就得到了它。
你也可以试试这个:
(async function(){
if (!client.application?.owner) await client.application?.fetch();
//And more await calls...
})();
您需要将 await
包装在一个带有 async
标记的函数中,如果您还没有的话。
试试下面的代码!
// Change the name of the function to whatever name you want!
const discordFetchData = async () => {
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
};
discordFetchData();
上面的代码会让您基本了解如何处理您的代码(将其包装在 async
函数中)。
您还可以将函数设为 self-calling、匿名、异步函数,如下所示。
(async () => {
if (!client.application?.owner) await client.application?.fetch();
const command = await client.guilds.cache.get('123456789012345678')?.commands.fetch('876543210987654321');
const permissions = [
{
id: '224617799434108928',
type: 'USER',
permission: false,
},
];
await command.permissions.add({ permissions });
})();
最终,这两种解决方案都会奏效!
有关详细信息,请访问 async
function - JavaScript | MDN。