anchor.diff:          }, 1000 * Math.random());
       });
   }
  -// リソースAとリソースBを同時に取得する
  -async function fetchResources() {
  -    // Promise.allは [ResponseA, ResponseB] のように結果を配列にしたPromiseインスタンスを返す
  -    const responses = await Promise.all([
  -        dummyFetch("/resource/A"),
  -        dummyFetch("/resource/B")
  -    ]);
  +
  +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;
       });
   }
  -// リソースを取得して出力する
  -fetchResources().then(function(results){
  +const resources = ["/resource/A", "/resource/B"];
  +// リソースを取得して出力する
  +fetchResources(resources).then(function(results){
       console.log(results); // => ["Response body of /resource/A", "Response body of /resource/B"]
   });
   ----
  
positive.code: 
  ``await``式はAsync Functionの中でのみ利用可能なため、コールバック関数もAsync Functionとして定義しないと``await``式が利用できないことに注意してください。
  
  そのため、``fetchResources``関数の``Array#forEach``メソッドのコールバック関数に対して``async``キーワードをつける必要があります。
  この場合は、コールバック関数がAsync Functionとなるため、コールバック関数内で``await``式が利用できます。
  しかし、コールバック関数をAsync Functionに修正するだけでは、構文エラーはおきなくなりますが、``fetchResources``関数が意図した結果を返しません。
  
  [role="executable"]
  [source,javascript]
  
negative.code: });
  ----
  
  ``forEach``メソッドのコールバック関数としてAsync Functionを渡し、コールバック関数中で``await``式を利用して非同期処理の完了を待っています。
  しかし、この非同期処理の完了を待つのはコールバック関数Async Functionの中だけで、外側では``fetchResources``関数の処理が進んでいます。
  そのため、コールバック関数で``results``に結果を追加する前に、``fetchResources``関数は空の``results``を返してしまいます。
  
  