title: Call a future builder again
body: <p>Im stuck in how I can manage to call a future Builder again on a button press to repeat the process indefinitely until it goes OK.</p>
  <p>Here is my code:</p>
  <pre><code>Widget build(BuildContext context) 
    {
      return FutureBuilder( future: sincroProcess(),
                            builder: (BuildContext context, AsyncSnapshot snapshot) 
                                      {
                                        if (snapshot.hasData) 
                                        {
                                          Map sincroProcessResponse = snapshot.data;
                                          
                                          if( sincroProcessResponse['allok'] )
                                          {
                                            return ListBody(children: [ OutlinedButton
                                                                        ( 
                                                                          child: Text(&quot;Continue&quot;),
                                                                          onPressed: goInit(),
                                                                        ),  
                                                                        Text( sincroProcessResponse['msg'] ) 
                                                                      ]);
                                          }
                                          else
                                          {
                                            return ListBody(children: [ OutlinedButton
                                                                        ( 
                                                                          child: Text(&quot;Try again&quot;),
                                                                          onPressed: sincroProcess(), //need this to re-run
                                                                        ),  
                                                                        Text( sincroProcessResponse['msg'] ) 
                                                                      ]);
                                          }
                                        }
                                        else
                                        {
                                          return ListBody(children: [ CircularProgressIndicator(backgroundColor: Colors.grey), 
                                                                      Text(&quot;We are preparing everything for your first usage =)...&quot;) ]);
                                        }
                                      });
    }
  }
  </code></pre>
  <p>I don't know if I am being clear enough, the behavior of the page should be:
  show circular progress while running the sincroProcess, if the response its ok, show a button to go to another page, if not, show a button to re-run the sincroprocess with the circular progress indicator.
  I cant imagine how to re-use my code!</p>