簡體   English   中英

方法不返回整個 object

[英]Method does not return whole object

當我調用 buildCommand 方法時,它不會返回屬性消息,但我發現如果我從 buildCommand 中刪除一些屬性,它就可以工作。 這是我調用的方法

const buildCommand = (commandJSON) => {
        return new Command({
        prefix: commandJSON.prefix,
        command: commandJSON.command,
        aliases: commandJSON.aliases,
        parameters: commandJSON.parameters,
        message: commandJSON.message,
        response: commandJSON.response,
        commandMedium: commandJSON.commandMedium,
        enabled: commandJSON.enabled,
        isDefault: commandJSON.isDefault,
        permission: commandJSON.permission,
        cooldown: commandJSON.cooldown,
      });
    };

這就是我調用該方法的方式

const newCommand = buildCommand(commandJSON);

commandJSON 看起來像這樣

{ prefix: '!', command: 'laugh', message: 'hahaha' }

更新 2 這是我的整個命令 Model

const mongoose = require('mongoose');

const commandSchema = mongoose.Schema({
  prefix: {
    type: String,
    default: '!',
  },
  command: {
    type: String,
    required: true,
  },
  aliases: {
    type: Array,
  },
  parameters: {
    type: Array,
  },
  message: {
    type: String,
  },
  response: {
    type: String,
    enum: ['chat', 'whisper'],
    default: 'chat',
  },
  commandMedium: {
    type: String,
    enum: ['offline', 'online', 'both'],
    default: 'both',
  },
  enabled: {
    type: Boolean,
    default: true,
  },
  isDefault: {
    type: Boolean,
    default: false,
  },
  permission: {
    type: String,
    enum: ['everyone', 'subscriber', 'vip', 'moderator', 'broadcaster'],
    default: 'everyone',
  },
  cooldown: {
    globalCooldown:{type:Boolean, default:false},
    globalDuration:{type:Number, default:0},
    userDuration:{type:Number,default:0},
  }
});

module.exports = mongoose.model('Commands', commandSchema, 'TwitchUsers');

命令只是一個 Mongoose model。 那里沒有任何異步,您可以(並且應該)刪除async/await的東西。

您可以簡單地執行const newCommand = new Command(commandJSON) ,完成工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM