title: Get values for variables in FutureBuilder and use in layout
body: <p><strong>Variable dependent widgets are processed before FutureBuilder finishes execution.</strong><br>
  With the following code <em>'subtraction was called on null'</em> error appears.<br>
  - Is it possible to get <em>word</em> (problem) variable before creating rest widgets in layout with it?  </p>
  
  <pre><code>List&lt;int&gt; word = [];
  int length;
  var rng = new Random();
    body: Column(children: [
      Container(
            child: FutureBuilder&lt;Quote&gt;(
              future: getQuote(), 
              builder: (BuildContext context, AsyncSnapshot&lt;Quote&gt; snapshot) {
                if (snapshot.hasData) {  
                  word = snapshot.data.tag.runes.toList();
                  word.shuffle();
                  length = word.length;
                  return Center(
                    child: Column(
                      children: &lt;Widget&gt;[
                        Text(snapshot.data.tag), 
                        Image.network(
                            '${snapshot.data.url}',
                        ), //displays the quote's author
                      ],
                    ),
                  );
                } else { 
                return CircularProgressIndicator();
              },
            ),
  
      ),
          Container(
       height:75,
        child: GridView.count(
          crossAxisCount: 5,
          children: List.generate(5, (int index) {
            return Center(
              child:  FlatButton(
                child: Text(
                    String.fromCharCode(
  </code></pre>
  
  <blockquote>
    <p>Next line throws error with null</p>
  </blockquote>
  
  <pre><code>               index = (length-word.length)&lt;3 ? word.removeAt(rng.nextInt(word.length))
                                : 65+rng.nextInt(25)
                    ),
  ...
  </code></pre>
  
  <blockquote>
    <p>Function, which loads data from url</p>
  </blockquote>
  
  <pre><code>Future&lt;Quote&gt; getQuote() async {
  var API_KEY = '12892554-73418a404928f2a4e42121633';
  final object = generateNoun().take(1);
  String url = "https://pixabay.com/api/? 
  key="+API_KEY+"&amp;q="+Uri.encodeFull(object.toString());
  final response = await http.get(url);
  if (response.statusCode == 200) {
  return Quote.fromJson(json.decode(response.body));
  }
  }
  </code></pre>