使用'return' Discord.js 功能有什么区别吗?



我正在使用突击队框架编写一个 Discord 机器人,我想知道是否需要在上次 Discord 之后使用return关键字.js或给定函数中的突击队函数来结束/完成命令还是根本不需要?我想确保该特定命令已完成。如果它甚至有意义。

const { Command } = require('discord.js-commando');
module.exports = class HelloCommand extends Command {
constructor(client) {
super(client, {
name: 'Hello',
aliases: [],
group: 'general',
memberName: 'hello',
description: 'Displays the Hello message',
guildOnly: true
});
}
run(message) {
return message.channel.send("Hello!");
}
};

如果需要,应该以哪种方式使用它?有关系吗?

run(message) {
return message.channel.send("Hello!");
}

run(message) {
message.channel.send("Hello!");
return;
}

第二个是没有意义的,因为所有javascript函数都会自动返回undefined无论你是否在函数末尾使用return。我建议使用第一个。

您可以通过执行此操作检查是否需要第一个中的return

run(message) {
const response = message.channel.send("Hello!");
console.log(response)
}

如果控制台打印undefined,则根本不需要使用 return。

如果您不确定,可以随时在 github 中查找类型定义

export class Command {
public run(message: CommandoMessage, args: object | string | string[], fromPattern: 
boolean, result?: ArgumentCollectorResult): Promise<Message | Message[] | null> | 
null;
}

好吧,这意味着您可以返回承诺或什么都不返回。

最新更新