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

237
Vistas
¿Esperar a que se lea una variable antes de eliminar los espacios en blanco?

Estoy intentando eliminar espacios de una cadena en mecanografiado, y una de las variables arroja un gran error cuando actualizo la página o la cargo desde la URL, no cuando la cargo desde otra página en mi sitio. art.title no está definido, por lo que debo esperar a que se cargue la página antes de ejecutar el código de reemplazo.

Probé este código para definir la variable que quiero solo cuando esté lista, pero no puedo usar esa variable si está definida dentro del condicional.

Aquí está el código que probé para definir la variable titleString que quiero:

 function titleNoWhiteSpace() { if (typeof art.title != 'undefined') { const tempTitle = art.title.replace(/\s+/g, ''); return tempTitle; } else { setTimeout(titleNoWhiteSpace, 300); } } const titleString = titleNoWhiteSpace();

Pero cuando trato de usar titleString más tarde, aparece el siguiente error porque la variable aún no está definida.

"El argumento de tipo '{ titleString: cadena | indefinido; }' no se puede asignar al parámetro de tipo 'cadena'"

Aquí está el error que arroja el código si solo trato de reemplazar los espacios en blanco en art.title directamente:

"Error de tipo no capturado: no se pueden leer las propiedades de undefined (leyendo 'reemplazar')"

Los tipos de arte se declaran aquí:

 export interface Art { uri: string | undefined; mint: string | undefined; link: string; title: string; artist: string; seller_fee_basis_points?: number; creators?: Artist[]; type: ArtType; edition?: number; supply?: number; maxSupply?: number; }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La función titleNoWhiteSpace , tal como la ha escrito, no espera a que el título se defina de la forma en que creo que espera que espere.

La función siempre devuelve un resultado inmediatamente (al igual que todas las funciones de JavaScript), ya sea devolviendo el título sin espacio o undefined . En algún momento, se generará el título sin espacio, pero el resultado será solo un valor fugaz no almacenado después de haber obtenido el valor undefined que no desea.

La única forma de obtener el tipo de efecto de esperar hasta que se defina el título que desea es usar una promesa o una función de devolución de llamada. No puedo ser más específico sin ver el contexto en el que se supone que se debe usar el texto del título.

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