Async/Await Syntax

What feature does this code demonstrate?
async function* generateNumbers() {
  for (let i = 0; i < 3; i++) {
    await new Promise(r => setTimeout(r, 1000));
    yield i;
  }
}

for await (const num of generateNumbers()) {
  console.log(num);
}
Next Question (11/20)