Код ниже будет работать в случае регулярных функций, но он не работает в случае объектных методов.Метод передачи построенного объекта функции в JavaScript
Я получаю следующее сообщение об ошибке:
return this.anotherService.get1(start, end);
^
TypeError: Cannot read property 'anotherService' of undefined
Как переписать код, чтобы сделать getTransactions
общее вспомогательную функцию выполняет различные методы, переданные в качестве аргументов?
class Service {
constructor(arg1) {
this.anotherService= new AnotherService(arg1);
}
getMethod1(start, end) {
return this.anotherService.get1(start, end);
}
getMethod2(start, end) {
return this.anotherService.get2(start, end);
}
}
function getTransaction1(arg1, arg2, arg3) {
let service = new Service(arg1);
getTransactions(arg2, arg3, service.getMethod1);
};
function getTransaction2(arg1, arg2, arg3) {
let service = new Service(arg1);
getTransactions(arg2, arg3, service.getMethod2);
};
function getTransactions(arg2, arg3, func) {
let start = ......;
let end = ........;
func(start, end).then(data => {
res.json(data);
}).catch(console.log);
};
Право, я забыл этот простой полезный трюк JavaScript. не в первый раз :) – krl