'How to trigger a response when another response done successfuly?

i m getting a link from a response data for another response. how can i wait for finish this first response ?

    Response responsePostImage =
    await dio.get("responseLink$imgId");
var parsedPostImage = jsonDecode("$responsePostImage");
blogModel.imagePostImage =
    parsedPostImage["media_details"]["sizes"]["medium"]["source_url"];
var parsedPpp = parsedPostImage["_links"]["author"];
blogModel.imagePpUrl = parsedPpp[0]["href"];

 Response responseGetPp = await dio.get(blogModel.imagePp);
  var parsedGetPp = jsonDecode("$responseGetPp");
  blogModel.imagePp = parsedGetPp["avatar_urls"]["48"];
  print(parsedGetPp["avatar_urls"]["48"]);


Solution 1:[1]

I think you can check the http response success status code (200) then call the next api.

Response responsePostImage = await dio.get("responseLink$imgId");

if(responsePostImage.statusCode == 200) {
   var parsedPostImage = jsonDecode("$responsePostImage");
   blogModel.imagePostImage = parsedPostImage["media_details"]["sizes"]["medium"]["source_url"];
   var parsedPpp = parsedPostImage["_links"]["author"];
   blogModel.imagePpUrl = parsedPpp[0]["href"];
    
   Response responseGetPp = await dio.get(blogModel.imagePp);
   if(responseGetPp.statusCode == 200) {
     var parsedGetPp = jsonDecode("$responseGetPp");
     blogModel.imagePp = parsedGetPp["avatar_urls"]["48"];
     print(parsedGetPp["avatar_urls"]["48"]); 
   }
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Zakaria Hossain