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

131
Vistas
¿Qué función se pasa a cb aquí?

Así que tengo un pequeño proyecto que contiene partes de frontend (html) y backend (express: servidor, enrutadores). El proyecto no es tan limpio, por lo que su operatividad principal se inicia directamente en la sección html. Y no tengo mucho claro aquí, especialmente ¿qué función se pasa a cb (devolución de llamada) aquí?

Tengo el siguiente código en parte de mi página html dentro del proyecto js:

 const $ = document.getElementById.bind(document) const request = (path, cb) => fetch(path) .then((res) => { if (res.ok) return res.json() throw Error('HTTP error: ' + res.status) }) .then(cb) .catch((err) => ($('result').innerHTML = err)) const main = async () => { const pinRequired = new URLSearchParams(document.location.search).get('pin') const id = await request(`./qrcode?pin=${pinRequired}`, (json) => { const { qrbase64, deeplink, pin, id } = json $('qrcode').innerHTML = `<img src="${qrbase64}" alt="Red dot" />` $('deeplink').innerHTML = `<a href=${deeplink} target="_blank"> ${deeplink.slice(0, 90)}...</a>` $('pin').innerHTML = pin ? pin : 'Not requested' return id }) setInterval(() => request(`./status?id=${id}`, ({ status }) => ($('result').innerHTML = status)), 1000) } main().catch(console.log)

¿Es esto (json)? Tampoco sé por qué está entre corchetes (), sin embargo, es un objeto, no se puede pasar como una devolución de llamada, ¿verdad?

Y también tengo un código en otro archivo, que contiene la ruta /qrcode de mi sitio web. Hay una función (bastante grande, así que no la estoy publicando, solo señalo que no devuelve la función que puede pasar como una devolución de llamada).

Si esta devolución de llamada al 100 % está en otra parte del código, como crees, házmelo saber.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si lo que está preguntando es esta devolución de llamada (json) => { ... } en el código a continuación:

 request(`./qrcode?pin=${pinRequired}`, (json) => { const { qrbase64, deeplink, pin, id } = json $('qrcode').innerHTML = `<img src="${qrbase64}" alt="Red dot" />` $('deeplink').innerHTML = `<a href=${deeplink} target="_blank"> ${deeplink.slice(0, 90)}...</a>` $('pin').innerHTML = pin ? pin : 'Not requested' return id });

Entonces esto es lo que se conoce como función de flecha . Puedes leer sobre ellos aquí en MDN. Son una sintaxis abreviada para declarar una función que también tiene una serie de diferencias de implementación.

Tenga en cuenta que hay algunos otros problemas en su código, ya que request() no devuelve una promesa, por lo que no sirve de nada usar await en él y tampoco obtendrá la id de la identificación de return id .

También tenga en cuenta que la biblioteca de solicitudes ha quedado obsoleta y, por lo general, no debe usarse para código nuevo. Aquí hay una lista de alternativas , todas las cuales admiten promesas de forma nativa. Mi favorito en esa lista es la biblioteca got() .

about 4 years ago · Juan Pablo Isaza Denunciar
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