почему может перезаписываться свойство this.process в конструкторе GraphMaker
for (let trunk in trunks) {
if (trunks.hasOwnProperty(trunk)) {
let template = [];
process.name = trunk;
template.push({name: 'in', metric: trunks[trunk].input}, {name: 'out', metric: trunks[trunk].out});
let Graph = new GraphMaker($this.host);
Graph.updateDB(process, template);
Graph.render(process, '12h');
}
}
function GraphMaker(host) {
this.host = host;
const $this = this;
this.updateDB = function(process, metric) {
this.process = process;
this.metric = metric;
let pathToDb = dbPath(process);
console.log(this.process);
fs.access(pathToDb, (err) => {
console.log(this.process);
if (err) {}
})
1 console.log
{ group: 'asterisk', name: 'E1-i3' }
{ group: 'asterisk', name: 'TEL-IP01' }
2 console.log
{ group: 'asterisk', name: 'TEL-IP01' }
{ group: 'asterisk', name: 'TEL-IP01' }
Т.е. для каждого прохода for создается отдельный инстанс контруктором, но все равно переменная внутри как то перезаписывается и после выполнения асинхронного действия уже остается последнее значение из перебора for, почему?