Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

117
Views
¿Por qué el detector de eventos no se dispara más de una vez?
const target = document.getElementById("button"); function when( event) { return new Promise((resolve) => { target.addEventListener(event, resolve); }); } when( "click").then(() => { alert("button clicked"); });

No entiendo por qué esta función de escucha de eventos no se apaga cuando hace clic más de una vez. A pesar de estar en una promesa, el detector de eventos está "registrado" en el botón. Así que siento que siempre debería apagarse cuando se hace clic.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La función when devuelve una promesa. Esta promesa se resolverá (y causará la alerta) cuando llame el detector de eventos. Debido a que una promesa solo puede resolverse una vez , la alerta solo se activa la primera vez. Después de eso, puede ver console.log('event listener calls') cuando hace clic en el botón, pero la alerta no se activará nuevamente.

 const target = document.getElementById("button"); function when( event) { return new Promise((resolve) => { target.addEventListener(event, function() { console.log('event listener calls'); resolve(); }); }); } when( "click").then(() => { alert("button clicked"); });
 <button id="button">Click Me!</button>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!