Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

274
Vistas
El receptor en Reflect.get() no funciona como se esperaba

Escribí un proxy de HTMLAudioElement. Cuando llamo al método play() a través del proxy.

 const proxy = new Proxy( audioPlayer, { get(target: typeof audioPlayer , prop, receiver) { return Reflect.get(target, prop, receiver); } }); proxy.play();

Recibí un error:

TypeError: Failed to execute 'play' on 'HTMLMediaElement': Illegal invocation

Hasta donde yo sé, es porque la función de play no está vinculada al target . Sin embargo, ¿no debería el receiver de utilería hacer el enlace por nosotros? ¿O hay algo mal en mi código?

Luego, tengo que cambiar mi código como se muestra a continuación, parece extraño, pero funciona.

 const proxy = new Proxy( audioPlayer, { get(target: typeof audioPlayer , prop, receiver) { if(prop=='play'){ return target.play.bind(target) }else if(prop=='pause'){ return target.pause.bind(target) } return Reflect.get(target, prop, receiver); } }); proxy.play();
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda