Допустим, у моего расширения Firefox есть несколько настроек, но некоторые из них сгруппированы, например, интервал проверки, интервал неудачных повторных попыток, URL-адрес назначения. Они используются только в одной функции.
Когда я подписываюсь на службу предпочтений и добавляю наблюдателя, обратный вызов observe
будет вызываться для каждого измененного предпочтения, поэтому, если случайно пользователь изменил все настройки в группе, мне придется выполнять одну и ту же процедуру для одной и той же подсистемы столько раз. так как у меня есть элементы в этой группе предпочтений. Это отличная избыточность!
Я хочу, чтобы observe
вызывался только один раз для группы предпочтений. Сказать
extensions.myextension.interval1
extensions.myextension.site
extensions.myextension.retry
поэтому, если один или все эти параметры изменены, я получаю только одно уведомление об этом. Другими словами, независимо от того, сколько настроек изменилось в ветке, я хочу, чтобы обратный вызов observe
вызывался один раз.