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

285
Vistas
Los valores de clave de objeto están vacíos pero tenían datos

Así que tengo un objeto que en cierto punto obtiene un valor para cada clave pero de repente pierde todos los valores clave.

los valores clave simplemente se vacían y en la consola hay un mensaje en el objeto que dice: "este valor se evaluó al expandirse por primera vez. Puede haber cambiado desde entonces", pero no cambio su valor en ningún otro lugar.

mi servicio:

 image = { name: "", path: "", data: "" }; async loadFileData(fileNames: string[]) { for (let f of fileNames) { const filePath = `${IMAGE_DIR}/${f}`; const readFile = await Filesystem.readFile({ directory: Directory.Data, path: filePath }); this.images.push({ name: f, path: filePath, data: `data:image/jpeg;base64,${readFile.data}` }); // testing this.image.name = f; this.image.path = filePath; this.image.data = `data:image/jpeg;base64,${readFile.data}`; } console.log('my image: ', this.image); } async loadFiles() { this.images = []; const loading = await this.loadingController.create({ message: 'loading data...', }); await loading.present(); Filesystem.readdir({ directory: Directory.Data, path: IMAGE_DIR }).then(result => { this.loadFileData(result.files); }, async err => { console.log('err: ', err); await Filesystem.mkdir({ directory: Directory.Data, path: IMAGE_DIR }); }).then(_ => { loading.dismiss(); }); }

Mi componente:

 this.photoService.loadFiles(); console.log('my object: ', this.photoService.image); console.log('is my object empty? ', JSON.stringify(this.photoService.image) === '{}');

mi consola (captura de pantalla)

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Su valor original era image = { name: "", path: "", data: ""}; .
Luego lo cambiaste para que se volviera como { name: "164....", path: "stored...", data: "data..."};

Puedo hacer una demostración similar, dentro de la consola: ingrese la descripción de la imagen aquí

Entonces, ¿qué sucede cuando presiono el botón para expandir? ingrese la descripción de la imagen aquí
Ahora muestra que los datos se cambian a "lo que sea", etc., pero su valor original image = { name: "", path: "", data: ""}; todavía se muestra (registrado).

El formulario expandido muestra los nuevos datos. Los valores vacíos pertenecían a datos antiguos .

about 4 years ago · Santiago Gelvez Denunciar

0

Se trata de asyn y la memoria de javascript.

Cuando ejecutas console.log(this.photoService.image)

this.photoService.loadFiles(); Esta corriendo

Valor de esto: { name: "", path: "", data: ""}

Cuando comprueba el valor de la consola:

this.photoService.loadFiles(); acabado

se actualizó la memoria de this.photoService.image

Valor de esto => { name: "xxx....", path: "yyy...", data: "zzz..."}

about 4 years ago · Santiago Gelvez 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