4

I am new to react-native. I am trying to use async/await but it doesn't wait for other function to return response and alert immediately it will not wait 4 seconds. Here is my code Please help me. Thanks in advance:

import {
  AsyncStorage,
  Platform
} from 'react-native';


export const  hello =async()=>{
 const value=await refreshToken();
 alert(value);
 return "adasd";
}


const refreshToken=async()=>{
  setTimeout(async()=>{
    return true;
  },4000);
}
Umesh Sehta
  • 10,555
  • 5
  • 39
  • 68

1 Answers1

6

An await can only be done on a Promise, and since setTimeout doesn't return a Promise you cannot await it. To do the same thing you are trying now, you would have to explicitly use a Promise like so:

export const  hello =async()=>{
    const value = await refreshToken();
    alert(value);
    return "adasd";
}

const refreshToken= () => {
    return new Promise(res => setTimeout(res, 4000));
}
Moti Azu
  • 5,392
  • 1
  • 23
  • 32