Все привет,у меня есть сервер на 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());
}
Мне подсказали, что нужно забиндить этот метод в конструкторе ,но видимо я что-то сделал нет так..
Есть идеи?
bindи этот метод в конструкторе класса.this.PaymentController = this.PaymentController.bind(this)– ksa Jun 06 '23 at 14:26