title: FutureBuilder - setState() or markNeedsBuild() called during build error
body: <p>I have the below FutureBuilder entry.</p>
  <pre><code>FutureBuilder(
                  future: _checkConn,
                  builder: (BuildContext context, AsyncSnapshot snapshot) {
                    switch (snapshot.connectionState){
                      case ConnectionState.none:
                        Navigator.pushReplacementNamed(context, NoConnView);
                        break;
                      case ConnectionState.active:
                      case ConnectionState.waiting:
                      case ConnectionState.done:
                        if(snapshot.data=='OK'){
                          initialfbget();
                          break;
                        } else {
                          Navigator.pushReplacementNamed(context, NoConnView);
                          break;
                        }
                    }
                    return SizedBox.expand(
                      child: FittedBox(
                        fit: BoxFit.fill,
                        child: SizedBox(
                          width: _vcontroller.value.size?.width ?? (MediaQuery.of(context).size.width),
                          height: _vcontroller.value.size?.height ?? (MediaQuery.of(context).size.height),
                          child: VideoPlayer(_vcontroller),
                        ),
                      ),
                    );
  
                  }
              ),
  </code></pre>
  <hr />
  <p>The below is the complete initstate section:</p>
  <pre><code>void initState()  {
      super.initState ();
  
      _vcontroller = VideoPlayerController.asset(&quot;assets/testimages/sukiitestanimation.mp4&quot;)
        ..initialize().then((_) {
          // Once the video has been loaded we play the video and set looping to true.
          _vcontroller.play();
          _vcontroller.setLooping(false);
          // Ensure the first frame is shown after the video is initialized.
        });
  
      _checkConn = checkConn();
      Firebase.initializeApp();
    }
  </code></pre>
  <hr />
  <p>Below is the checkconn segment:</p>
  <pre><code>Future&lt;String&gt; checkConn() async {
      var connresponse = await http.get(connurl).timeout(const Duration(seconds: 10));
      log('connresponse is: ${connresponse.statusCode}');
      if(connresponse.statusCode!=200) {
        return &quot;BAD&quot;;
      } else {
        return &quot;OK&quot;;
      }
    }
  </code></pre>
  <hr />
  <p>Kept on receiving the below error.</p>
  <p>setState() or markNeedsBuild() called during build.</p>
  <p>Would appreciate any assistance on this.</p>
  <p>Thanks in advance.</p>