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

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

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