let threads = {
max: 50,
used: 0,
waiting: []
}
threads = new Proxy(threads, {
set(target, prop, val) {
console.log('Изменение')
return true
}
})
threads.max = 100 // срабатывает
threads.waiting.push({ name: 'example' }) // не срабатывает
let media = {};
media['value'] = [];
const proxyMedia = new Proxy(media, {
get(target, property) {
if (property === 'value') {
return new Proxy(target[property], {
set(obj, prop, value) {
// Ловушка для отслеживания изменений в массиве
console.log(`Изменение в массиве: ${value}`);
obj[prop] = value;
return true;
}
});
}
return target[property];
}
});
proxyMedia['value'].push('string');