본문 바로가기
개발/Flutter

flutter future 병렬처리

by dev_caleb 2022. 5. 19.
728x90

future를 실행하다보면 병렬처리를 해줘야할 때가 있다.

예를 들어

//await getFollowers();
//await getFollowings();
progressing= false;
setState(() {});

해당구문처럼 실행하게 되면 

getfollower를 모두 실행 후

getfollowing를 모두 실행 후 setstate를 하게 되어 시간이 낭비 된다.

 

 

다음과 같이 해결해보면 좋을 것 같다. 

void loadData() async{
  progressing= true;
  setState(() {});
  await Future.wait([getFollowings(), getFollowers()]);
  //await getFollowers();
  //await getFollowings();
  progressing= false;
  setState(() {});
}

 

Future getFollowers() async{
  followerList = await userNetworkRepository.getFollowers(widget.profileUserModel);
}
Future getFollowings() async{
  followingList = await userNetworkRepository.getFollowings(widget.profileUserModel);
}

 

728x90