Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

292
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda