Go здесь в документации.
После того, как первый пример кода говорит:
Класс Page генерирует различные события (описанные ниже) который может быть обработан с использованием любого из собственных методов EventEmitter узла, таких как on, once или removeListener.
Позже это говорит об этом, сопровождаемый примером кода:
To Отказаться от участия в мероприятиях используйте метод removeListener:
function logRequest(interceptedRequest) {
console.log('A request was made:', interceptedRequest.url());
}
page.on('request', logRequest);
// Sometime later...
page.removeListener('request', logRequest);
Так что я предполагаю, что вы можете просто последовать их примеру, например, page.removeListener('response'...
.
Что касается части состояния гонки Ваш вопрос, у меня недостаточно опыта в Puppeteer, чтобы дать вам авторитетный ответ. Мне кажется, что вы всегда сможете установить прослушиватель событий быстрее, чем может произойти ответ, потому что этот код, который устанавливает прослушиватель событий, будет в событии -l oop уже при добавлении ответа в Очередь событий. Однако я не уверен.