首页 > 解决方案 > 在 Discord.js 函数之后使用“return”有什么区别吗?

问题描述

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

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;
}

标签: javascriptnode.jsbotsdiscord.jscommando

解决方案


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

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

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

如果控制台打印undefined,您根本不必使用 return 。


推荐阅读