anchor.diff:  一方で同期処理のような見た目となるため、複数の非同期処理を順番に行うようなケースでは無駄な待ち時間を作ってしまうコードを書きやすいです。
   
   先ほど``fetchResources``関数ではリソースAを取得し終わってから、リソースBを取得していました。
  -このとき、取得順が関係無い場合はリソースAとリソースBを同時に取得できます。
  +このとき、取得順が変わっても問題無い場合は、リソースAとリソースBを同時に取得するのが効率的です。
   
   Promiseチェーンでは``Promise.all``メソッドを使い、リソースAとリソースBを取得する非同期処理を1つの``Promise``インスタンスにまとめることで同時に取得していました。
   ``await``式が評価するのは``Promise``インスタンスであるため、``await``式は``Promise.all``メソッドなど``Promise``インスタンスを返す処理と組み合わせて利用できます。
  
positive.code: });
  ----
  
  この問題を解決する方法として、先ほどのようにコールバック関数を定義する必要がないforループを使う方法があります。
  また、別の方法として``Promise.all``メソッドを使う方法があります。
  
  [relationship-promise-async-function]
  === PromiseとAsync Functionを組み合わせる
  
negative.code:         }, 1000 * Math.random());
      });
  }
  
  async function fetchResources(resources) {
      // リソースをまとめて取得するfix
      const promises = resources.map(function(resource){
          return dummyFetch(resource);
      });
      // すべてのリソースが取得できるまで待つ
      // Promise.allは [ResponseA, ResponseB] のように結果が配列となる
      const responses = await Promise.all(promises);
      // 取得した結果からレスポンスのボディだけを取り出す
      return responses.map(function(response){
          return response.body;
      });
  }
  const resources = ["/resource/A", "/resource/B"];
  // リソースを取得して出力する
  fetchResources(resources).then(function(results){
      console.log(results); // => ["Response body of /resource/A", "Response body of /resource/B"]
  });
  ----
  