我正在使用突击队框架编写一个 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;
}
好吧,这意味着您可以返回承诺或什么都不返回。