Я пытаюсь сделать очевидным вещь с WeakMaps: Я хочу создать слабую ссылку. В частности, я хочу иметь список слушателей событий без этого списка, влияющих на жизнь слушателя.Создание регулярной слабой ссылки в Javascript с использованием WeakMaps
Так что я был очень рад найти WeakMaps, пока не увидел, что они были созданы только для удовлетворения одного (довольно редкого) прецедента, расширяющего объекты, которые иначе были запечатаны. Я не могу думать, когда я когда-либо хотел это сделать, но мне нужны списки слушателей все время.
Можно ли использовать WeakMaps каким-то умным способом, я не думал об этом?
Я не уверен, что есть способ сохранить список прослушивателей событий, который является итерируемым, сохраняя его слабым (WeakMap/WeakSet не разрешает итерацию), но есть ли что-то особенное, что вы делаете с этим списком ? –
Точно то, что я сказал: я строю список слушателей на мероприятие, не делая этих слушателей вечными. – Malvolio
Просто любопытно: Какую архитектуру вы себе представляете? Кто держит ссылки на слушателей событий, сохраняет их в живых? Это не будет работать в текущих проектах, где прослушиватели событий выполняют побочные эффекты. – Bergi