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

245
Views
¿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 answers
Answer question

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 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!