title: is this asynchronous behaviour?
body: <p>Why does the below program doesn't print the 'wow', is this the asynchronous behaviour of dart? what did I miss in this piece of code?</p>
  <pre><code>import 'dart:async';
  import 'dart:convert';
  import 'dart:io';
  
  import 'package:pedantic/pedantic.dart';
  
  bool _asking = false;
  String name = '';
  Future main() async {
   askUserName();
  }
  
  Future askUserName() async {
    _asking = true;
    //feedInfoToTheUser({'info': 'enter a name'});
    //print('enter the name');
   Future.doWhile(() {
      if (name.isNotEmpty) {
        _asking = false;
        print('thank you');
        exit(0);
      }
      return _asking;
    });
    print('wow');
  }
  </code></pre>