Как проверить, сработало ли событие, условно испущенное внутри другого события, только один раз? - PullRequest
0 голосов
/ 29 мая 2019

Я ищу способ проверить, было ли событие сработало только один раз в Javascript, если оно сработало при некоторых обстоятельствах из другого события. Я понимаю, что могу сделать это, создав шпионскую функцию, которая записывает, сколько раз она была вызвана, например, с помощью библиотеки sinon:

var spy = sinon.spy;
elem.addEventListener('myTriggeredEvent', spy);
elem.dispatchEvent('myTriggeringEvent');
elem.dispatchEvent('myTriggeringEvent');
// assert(spy.calledOnce);

В этом примере myTriggeringEvent испускает myTriggeredEvent в первый раз, но не во второй раз, когда оно испускается. Мне нужно утверждать, где-то в моем коде, что шпион был вызван один раз, и я могу добавить другого слушателя к myTriggeringEvent, чтобы сделать это, но я не думаю, что это будет гарантировать, что новый слушатель будет вызван после всех других слушателей myTriggeringEvent было завершено. Каков хороший способ проверить, что myTriggeredEvent был запущен только один раз?

...