| OLD | NEW | 
|     1 --- |     1 --- | 
|     2 layout: default |     2 layout: default | 
|     3 title: "A Tour of the Dart Libraries" |     3 title: "A Tour of the Dart Libraries" | 
|     4 description: "Learn how to use each major Dart library feature." |     4 description: "Learn how to use each major Dart library feature." | 
|     5 has-permalinks: true |     5 has-permalinks: true | 
|     6 --- |     6 --- | 
|     7  |     7  | 
|     8 # {{ page.title }} |     8 # {{ page.title }} | 
|     9  |     9  | 
|    10 Welcome to the Dart library tour! |    10 Welcome to the Dart library tour! | 
| (...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   855  |   855  | 
|   856 Sometimes your algorithm needs to initiate many asynchronous methods |   856 Sometimes your algorithm needs to initiate many asynchronous methods | 
|   857 and wait for each one to complete before continuing. Use the Futures class |   857 and wait for each one to complete before continuing. Use the Futures class | 
|   858 to manage multiple Futures and wait for them all to complete. |   858 to manage multiple Futures and wait for them all to complete. | 
|   859  |   859  | 
|   860 {% highlight dart %} |   860 {% highlight dart %} | 
|   861 Future deleteDone = deleteLotsOfFiles(); |   861 Future deleteDone = deleteLotsOfFiles(); | 
|   862 Future copyDone = copyLotsOfFiles(); |   862 Future copyDone = copyLotsOfFiles(); | 
|   863 Future checksumDone = checksumLotsOfOtherFiles(); |   863 Future checksumDone = checksumLotsOfOtherFiles(); | 
|   864  |   864  | 
|   865 Futures.join([deleteDone, copyDone, checksumDone]).then(() { |   865 Futures.wait([deleteDone, copyDone, checksumDone]).then((List values) { | 
|   866   print('Done with all the long steps'); |   866   print('Done with all the long steps'); | 
|   867 }); |   867 }); | 
|   868 {% endhighlight %} |   868 {% endhighlight %} | 
|   869  |   869  | 
|   870 #### More information |   870 #### More information | 
|   871  |   871  | 
|   872 Refer to the API docs for |   872 Refer to the API docs for | 
|   873 [Future](http://api.dartlang.org/dart_core/Future.html), |   873 [Future](http://api.dartlang.org/dart_core/Future.html), | 
|   874 [Futures](http://api.dartlang.org/dart_core/Futures.html), and |   874 [Futures](http://api.dartlang.org/dart_core/Futures.html), and | 
|   875 [Completer](http://api.dartlang.org/dart_core/Completer.html) |   875 [Completer](http://api.dartlang.org/dart_core/Completer.html) | 
| (...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1680   assert(base64 == |  1680   assert(base64 == | 
|  1681     "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38G" |  1681     "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38G" | 
|  1682     "IAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="); |  1682     "IAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="); | 
|  1683 } |  1683 } | 
|  1684 {% endhighlight %} |  1684 {% endhighlight %} | 
|  1685  |  1685  | 
|  1686 [Back to contents.](#toc) |  1686 [Back to contents.](#toc) | 
|  1687 {:.up-to-toc} |  1687 {:.up-to-toc} | 
|  1688  |  1688  | 
|  1689  |  1689  | 
| OLD | NEW |