스터디홀릭
10
2019-06-12 13:17:44 작성 2019-06-12 13:43:45 수정됨
0
182

react-native 관련 질문드립니다. (함수의 실행순서)


안녕하세요 구글링으로 개발을 배우고 있는 초보자 입니다~

리액트 네이티브로 이것저것 구현해보다 생각대로 안되는 부분이 있어 질문드립니다~

asyncstorage를 이용해 데이터를 불러와 불러온 데이터를 구분하는 함수를 실행하는데....

실행순서가 생각대로 되질 않습니다.....ㅜㅜ

사실 어디가 잘못된지도 잘 모르겠네요...ㅜㅜ

찾아보니 콜백과 관련 있는듯한데...어찌 해야 할지 모르겠습니다~ 


코드)


let testValue = 'aaa';

constructor(props) { 
    super(props);
    this.getValue();           // 1) 실행되면 데이터를 가져와 testValue에 넣고 '조회완료' 로그를 띄운다.
    this.sortingValue()      //  2) 실행되면 testValue의 값을 구분해 YES 또는 NO 로그를 띄운다.
}

  getValue = async () => {
    try {
      const value = await AsyncStorage.getItem('@Test_Data') //데이터를 가져온다
      console.log('조회완료');
      testValue = value; // testValue 변수에 데이터를 넣는다.
      }
    } catch(e) {
      console.log('조회실패');
    }
  }

 sortingValue() {
   if(testValue == 'test')  {
     console.log('YES');
   }else{
     console.log('NO');
   }
 }



이상 코드 내용인데 제가 생각한 로그는

조회완료  > YES (가져온 데이터가 test) 인데....


실제 결과는 

NO > 조회완료 입니다.


getValue 가 완료된 후 sortingValue가 실행되야하는데 방법을 모르겠습니다~

도와주세요~~



0
0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.