Я выполнил небольшую функцию, и, хотя данные внутри выглядят правильно, ответ отображается как обещание, как заставить его ответить мне данными?

#javascript #promise

#javascript #обещание

Вопрос:

У меня есть функция, которая должна считывать данные из localstorage, в этой функции я написал несколько ‘console.log’ и все они отображаются со своими данными, вместо этого при выполнении ‘return’ он сообщает мне, что я получаю обещание,,,, и плохое

  static datosLogin() {
    let datos=localStorage.getItem('userWPR_TDA')
    console.log('datos',datos)
    let init =  JSON.parse( datos) 
    console.log('init',init)
    if (!AUTORIZAR) {
      init.role = 9
      init.id = ''
      init.token = ''
      init.tokemTda = 'abcdefghijklmnopqrstuvxz1234567890ABCDEFGHIJKLMNOP'
      init.userName = "Pruebas"
      init.local = "pruebas/Barconfinao)"
    }
    console.log('salgo',init)
    return init
  }
 

вызов:

     let userA = LoginScreen.datosLogin()
    actUser(userA)
    console.log('fuera',userA)
 

выход:

 datos {"id":3,"role":9,"token":"e......}   LoginScreen.js:55 
init {id: 3, role: 9, token: "e......    LoginScreen.js:64 
salgo {id: 3, role: 9, token: "e..."...

**fuera Promise {<fulfilled>: {…}} Navbar.js:30 <---------------------------------------**
{NotLogged: true} Navbar.js:37 
 

Почему он помечает это как обещание????

Ответ №1:

Кажется, что вы возвращаете обещание из своей функции.

Если вы хотите получить только разрешенные данные «Данные после обещания, если они выполнены»

Вам нужно ввести await

 static async datosLogin(){
  // Your logic...

}


//Then...

let userA = await LoginScreen.datosLogin()


 

ожидание будет ждать, пока обещание разрешится и вернет вывод функции

Комментарии:

1. Но кто генерирует обещание? В «salgo» я показываю информацию, которую я возвращаю, и данные в порядке…..