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

313
Views
Intentando poner AsyncStorage.getItem() dentro de async/await try/catch nest pero devolviendo cosas inesperadas

Tengo esto en React-Native, básicamente guardé con éxito algunas cosas usando AsyncStorage desde LoginScreen. Ahora estoy tratando de acceder a esas variables en mi HomeScreen usando AsyncStorage.getItem

 const userdata = async () => { try { return await AsyncStorage.getItem("user_nicename") } catch(error) { console.log(error) } } console.log(userdata) //returns { ƒ _callee() { //return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.async(function _callee$(_context) { // while (1) { // switch (_context.prev = _context.next) {....

¿Qué estoy haciendo mal aquí? Parece ser muy sencillo.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Hay un par de cosas en las que te estás equivocando al respecto.

  • Está registrando la función sin llamar, si desea ver la función evaluada, debe llamarla agregando paréntesis, por ejemplo, en su caso sería userdata()
  • Está llamando a una función asíncrona como si fuera una función síncrona. Su código se escribió de forma asíncrona, por lo que también debe llamarlo de forma asíncrona.
  • Según la convención userdata para el identificador de nombres, convierta los datos de usuario en datos de userData

Para su solución, deberá llamar a su función, datos de userdata en una función basada en promesas, ya sea async-await o .then o en una función de devolución de llamada. Estoy sugiriendo dos formas de mejorar su código.

Método 1: Usar .then()

 // in home screen userdata() .then((data) => console.log(data)) .catch((err) => console.log(err));

Método 2: usar async-await en tu pantalla de inicio

 // home screen const getUserData = async () => { try { console.log(await userdata()); } catch (err) { console.log(err); } }; // then call the function getUserData()
about 4 years ago · Juan Pablo Isaza Report

0

userdata es una función asíncrona. Prueba esto:

 console.log(await userdata())
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!