Задать вопрос
@ff0xff

Можно ли в nodejs детектить изменения массива?

Подскажите есть ли в js возможность задетектить момент изменения массива?
Допустим у меня есть две синхронные функции, одна меняет данные в массиве а другая должна отработать при изменении данных.
При этом вариант вызвать функцию для обработки из первой не вариант, потому что данные в массив приходят по WebSocket - а вызывать вторую функцию для обработки по таймауту не очень хочется. ( у меня скорость в ms играет очень важную роль ), идеальным решением было бы узнать когда данные изменились и обработать их.
Какие есть решения для этого вопроса?
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
kshshe
@kshshe
Frontend developer
Proxy вам поможет.

Что-то вроде такого:

const yourArray = [];

const proxyArray = new Proxy(yourArray, {
    set: (array, key, value) => {
        console.log(`${key} setted to ${value}`);
        array[key] = value;
        return true;
    }
});
// И дальше можно работать с proxyArray, как с yourArray, но с дополнительным поведением
proxyArray[0] = 10;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы