Firebug - zatrzymanie programu gdy obiekt w JS zmieni wartość

Firebug - zatrzymanie programu gdy obiekt w JS zmieni wartość
MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 243
0

Używam Firebuga do debugowania Javascriptu i mam pytanie. Mam pewien złożony obiekt który jest tworzony i wewnątrz tego obiektu jest tablica, która na początku jest pusta. Chciałbym zatrzymać program w momencie gdy tablica nie jest już pusta. Czy jest to możliwe w Firebugu? Jeśli tak to jak to zrobić.

Maciej Cąderek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1264
1

No to wstaw breakpointa po kodzie uzupełniającym tablicę, jak tablica zapełnia się przy jakimś zdarzeniu to ustaw breakpointa na to zdarzenie.

PS
Przerzuć się na Chrome Dev Tools.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 243
0
  1. Nie wiem gdzie tablica się uzupełnia. Chciałbym właśnie jakoś ustawić debugger aby przerywał wykonywanie programu w momencie uzupełnienia tablicy.
  2. Dlaczego radzisz mi się przerzucić na Chrome Dev Tools?
Maciej Cąderek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1264
1

Możesz opakować sobie obiekt w Proxy, coś w stylu:

Kopiuj
let someObject = {
  arr: [],
};

someObject = new Proxy(someObject, {
  set(target, property, value) {
    if (property === 'arr') debugger;
    target[property] = value;
  },
});

someObject.arr = ['baz']; // to wyłapie set

Czemu Chrome Dev Tools? Bo to chyba najlepiej rozwinięte narzędzie obecnie.

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 243
0

Dzięki. Nie znałem tych proxy wcześniej. Obczaję to w domu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.