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

240
Vistas
Obtenga datos almacenados en AsyncStorage al instante sin async/await (promesa)

config.js

 AsyncStorage.getItem("storedValue").then(value=>{ //return data based on the value from asyncStorage storage if(value==="value1"){ return { text:"text1", number:"number1" } } else if(value==="value2"){ return { text:"text2", number:"number2" } } })

índice.js

 import config from "./config" //I have to use data from config file here console.log(config.text) //->getting error //The problem is that, since fetching from AsyncStorage is asynchronous, data from config is not yet available here //I have tried SyncStorage npm package for react native. It loads all the asyncStored values into memory upon calling await SyncStorage.init() //-> called on app initialisation //And can be used later in place of AsyncStorage.getItem(""), which returns the value directly instead of promise const value=SyncStorage.get("storedValue")

Pero el problema es que estoy accediendo a la configuración en index.js (que es el archivo de inicio para un proyecto nativo de reacción). Y tengo que inicializar SyncStorage aquí, que nuevamente es asíncrono, lo que significa que el archivo de configuración se cargará antes de que ocurra init().

Lo que estoy esperando es:

  1. obtenga el valor almacenado en el almacenamiento local al instante sin async/await en index.js OR
  2. En la aplicación, tendré un botón para reiniciar la aplicación. Pero debería poder pasar un valor durante el reinicio, que se puede usar en config.js o index.js mientras se carga la aplicación OR
  3. O use cualquier otro paquete para enlaces profundos o algo así, de modo que en la aplicación que reinicia la aplicación usando un enlace profundo, el valor pasado debería ser accesible. Tiene que funcionar tanto para Android como para iOS.

Cambios que no son posibles:

  1. No se puede crear ningún otro archivo que no sea index.js como archivo de inicio porque muchos otros paquetes de proyectos se están inicializando aquí y, de hecho, el valor almacenado al que intentamos acceder debe pasarse a estos paquetes durante la inicialización.

Gracias.

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

0

Por favor explique un poco más...

Resumiendo lo que entiendo de tu pregunta:

  • desea leer algún valor del almacenamiento asíncrono de inmediato en el índice
  • intentaste usar el almacenamiento sincronizado para el mismo
  • no puede mover su código del índice porque estacionó todo allí

Tratando de desenredar eso aquí mi respuesta:

  • no es realmente una buena práctica poner mucho código en app.js o index.js, así que trataría de evitar eso tanto como sea posible

  • El almacenamiento sincronizado y el redux normalmente solo están disponibles en tiempo de ejecución y, a menudo, se cargan desde el almacenamiento asíncrono.

  • el almacenamiento asíncrono necesita tiempo y, por lo tanto, también debe cargarse con una apariencia de promesa o espera de captura

--> Si yo fuera usted, usaría el almacenamiento asíncrono como de costumbre con await e introduciría algún tipo de pantalla de inicio donde realiza la carga.

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