我怎么让这段代码异步执行?

为什么结果是’First’在‘Second’前面,而不是‘Second’先出来?

Future first() async{
  for (int i = 0; i < 10000000000; i++) {}
  print('First');
}

void second() {
  print('Second');
}

main() async{
  await first();
  second();
}

去掉await看看,await会暂停当前方法执行,直到异步函数first返回,建议多看看异步相关教程