discord.js/node.js: Problem bei Übergabe der user_id?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Dein Lambda:

() => {
  /* ... */
}

nimmt den Wert this.user_id aus dem aktuellen Kontext, in dem es definiert wird.

Dazu ein kleines Beispiel:

function SomePrototype() {
  this.someProperty = 123;
}

function defineSomeMethod() {
  this.someProperty = 456;

  Object.defineProperty(SomePrototype.prototype, 'someMethod', {
    value: () => {
      return this.someProperty;
    }
  });
}

const someObject = new SomePrototype();
defineSomeMethod();
const result = someObject.someMethod();
console.log(result); // 456

Wenn ich das Property in defineSomeMethod weglassen würde, wäre das Ergebnis so wie bei dir undefined.

Du möchtest allerdings den Zustand deines Objekts (user, bzw. in meinem Beispiel someObject). Ersetze also den Lambda-Ausdruck gegen eine Funktion:

value: function() {
  return this.someProperty;
}

GoodQNextQx 
Fragesteller
 10.09.2022, 19:28

Holy, danke!! Problem gelöst 🙂

0