salida de corriente:
created card: Card {}y por eso, esto falla:
TypeError: Cannot read properties of undefined (reading '0')Mi función de llamada para crear una tarjeta:
function Prepare_units(Player) { // Player contains example data cards. var UnitHolder = []; Player.forEach(function (MinionUnit) { var CreatedCard = new Card.Card(MinionUnit); console.log("created card:",CreatedCard); CreatedCard.attack = CreatedCard.value[0]; CreatedCard.health = CreatedCard.value[1]; UnitHolder.push(CreatedCard); }); return UnitHolder; } CardsData tiene una promesa (llamada a la base de datos y devolución de una tarjeta específica)
función de llamada en mi clase de tarjetas:
constructor(MinionId) { this.CardsData(MinionId).then(data => { if (data) { this.card = data; console.log("collected data",data); this.attack = this.card.CardValue(0); this.health = this.card.CardValue(1); this.alive = true; this.deathrattle = this.card.deathrattle; return this; } else { console.log("error calling constructior, local set",data); this.Instance = "LOCAL"; return this; } } ); }exportaciones:
module.exports = { CardCreator : CardCreator, Card: Card, } ¿No debería poder llamar a this.attack o createdCard.value desde el método Prepare_units ?
El resultado esperado es obtener valores de la clase de tarjeta después de crear una nueva instancia.
Editar: sé por qué las propiedades no están definidas. porque no puede leerlo, pero no sé cómo proceder para solucionarlo.