I am making an bungalow reservation system with spring rest back end and flutter front end. In this I want to get a list of bungalows. So I decided to make a method to get the list of bungalows in a method using HttpService class that I made to handle the rest end points, That method is getBungalows() method. Then I called this method by overriding initstate(). But the problem is that before my initstate() is completed. my build method starts. To prove this I printed two lines 'print' and 'print build' as I thought I get 'print build' first. what am I doing wrong here. Please help.
Method to retrieve data from rest back end
When this happened I first checked this method but this works fine and return the desired result.
Future<List<Bungalow>> getBungalows() async {
  Uri uri = Uri.parse('$url/bungalows/');
  http.Response response = await http.get(uri);
 if (response.statusCode == 200) {
   List<Bungalow> bungalows = List<Bungalow>.from(
      json.decode(response.body).map((x) => Bungalow.fromJson(x)));
   // print(bungalows.first.address + 'asafafasfafdfgfgarfgargafvfrvaerg');
   return bungalows;
 } else {
   throw 'Unable to retrieve data';
 }
 }
Code of the HomeScreen
 class _HomeScreenState extends State<HomeScreen> {
   HttpService httpService = HttpService();
   late List<Bungalow> bungalows;
   bool isLoggedIn = false;
   User? user;
   void getBungalows() async {
     bungalows = await httpService.getBungalows();
     print('done');
   }
  @override
  Widget build(BuildContext context) {
   if (widget.user != null) {
   isLoggedIn = true;
   user = widget.user;
   }
   print('done build');
   return Scaffold(
   backgroundColor: Colors.white,
   body: Column(
    children: [
      Text(isLoggedIn ? user!.userDetail.username : 'No login'),
      // TextButton(
      //     onPressed: () {
      //       setState(() {
      //         getBungalows();
      //         print(bungalows.first.address);
      //       });
      //     },
      //     child: Text('click'))
     ],
  ),
);
}
@override
 void initState() {
   getBungalows();
   
 }
}
Console Output
I/flutter (22248): done build
I/flutter (22248): done