Проверьте существующий ключ в AsyncStorage

Я хочу отобразить правильный навигатор на основе AsyncStorage, я искал здесь, но всегда тот же результат:

 const signedIn = async () => {
    const token = await AsyncStorage.getItem('token');
    if(token) {
      return true;
    } else {
      return false;
    }
  }

Это всегда возвращает истину..

1 ответ

Функция SignIn возвращает обещание. Если вы вызываете функцию, как показано ниже, то каждый раз мы будем переходить к SCREEN1.

let response = signedIn();
if(response){
   console.log("SCREEN1")
   //Navigate to SCREEN 1
 }else{
   console.log("SCREEN2")
   // Navigate to SCREEN 2
}

Вместо того, чтобы называть это так

signedIn().then((response)=>{
  if(response){
     console.log("SCREEN1")
     //Navigate to SCREEN 1
   }else{
     console.log("SCREEN2")
     // Navigate to SCREEN 2
  }
 })

Или таким образом {вызывающая функция должна быть асинхронной}

let response = await signedIn()
if(response){
   console.log("SCREEN1")
   //Navigate to SCREEN 1
}else{
   console.log("SCREEN2")
   // Navigate to SCREEN 2
}
Другие вопросы по тегам