Приветствую. Нужна помощь специалистов!
Попробую описать на упрощенном примере request(), т.к. не знаю, как просто на словах описать =)
Оригинал кода по сути тут как бы и не разместить, т.к. это пока только алгоритмический функциональный вид.
Использование в функциональном виде:
let varName;
function result(body, ext) {
varName = ext;
...
};
function req(params, ext) {
request(params, (err, req, body) => {
result(body, ext);
});
};
Использование в классовом виде:
class CLS {
constructor() {
this.varName = null;
};
...
result(body, ext) {
this.varName = ext;
...
};
req(params, ext) {
const self = this;
request(params, (err, req, body) => {
self.result(body, ext);
});
};
...
};
Использование классов более оправданно, т.к. требуется наследование + классовые свойства (несколько объектов одного класса, каждый со своим состоянием и данными). Однако с учетом того, что потребуется довольно много методов с обратным вызовом смущает необходимость использования вставки
const self = this;
Насколько она будет потреблять память, с учетом того, что вызовы этих методов будут постоянными... Не окажется ли, что из-за этих self - ов будут потери памяти со всеми нехорошими вытекающими?!
Вариант "попробовать и понаблюдать", конечно самый хороший, но вот переделывать с классового на процедурный стиль потом может оказаться огромной проблемой.