0

Все привет,у меня есть сервер на nodejs в котором есть класс PaymentController . В нем 1 из методов создает токен который мне нужен в другом методе этого же класса. Если я использую его просто на сервере, то я могу обратиться к нему через this ,а если я обращаюсь к нему с фронта при помощи restApi, то я получаю "TypeError: Cannot read property 'getToken' of undefined"

Я использую nodeJs в связке с express и это выглядит так

 app.post("/changePrice", express.json(),PaymentController.updatePrice);
    class dgsController {
  constructor() {
    this.getToken = this.getToken.bind(this);
  }

  async getToken() {
    const date = Date.now();
    const sign = sha256(`${process.env.ApiKey}${date}`);
    const data = {
      seller_id: process.env.id,
      timestamp: date,
      sign: sign,
    };
    console.log(data);
    const token = await axios
      .post("getTokenUrl", data)
      .then((resp) => resp.data.token);

    return token;
  }

  async updatePrice(req, res) {
    console.log(await this.getToken());

}

Мне подсказали, что нужно забиндить этот метод в конструкторе ,но видимо я что-то сделал нет так..

Есть идеи?

  • 3
    Заbindи этот метод в конструкторе класса. this.PaymentController = this.PaymentController.bind(this) – ksa Jun 06 '23 at 14:26

0 Answers0