Asynchronous programming: futures, async, await
何故非同期なコードが重要なのか?(Why asynchronous code matters)
非同期な処理は、他の処理が終わるのを待つ間、あなたのプログラムを完璧に機能させます。以下に一般的な非同期処理を示します。
- ネットワークからデータを取ってくる。
- データベースに書き込む。
- ファイルからデータを読み込む。
Dartで非同期処理を行うために、Futureクラスとasync、awaitキーワードを使用します。
例:非同期関数の正しく無い使用例
下記のサンプルは非同期関数(fetchUserOrder())の間違った使い方の例です。あとであなたはasync、awaitキーワードを使用してこのサンプルを修正します。このサンプルを実行する前に、どこが間違いなのか考えてみましょう。結果はどうなるでしょうか?
sample1-1
// このサンプルはDartの非同期処理の間違ったコードです。 String createOrderMessage () { var order = fetchUserOrder(); return 'Your order is: $order'; } Future<String> fetchUserOrder() { // Imagine that this…