Flutter 异步函数等待不等待

Flutter async function await not awaiting

我有一个使用 MultipartRequest 上传视频的异步函数:

static Future<bool> uploadVideo(File video) async {

var uri = Uri.parse('https://example.com/uploadFile');

Map<String, String> headers = {
"Content-Type": "application/json",
'Accept': 'application/json',
};

var request = http.MultipartRequest("POST", uri);
request.headers.addAll(headers);

Uint8List data = await video.readAsBytes();
List<int> list = data.cast();

request.files.add(
await http.MultipartFile.fromBytes('File', list, filename: '.mp4'),
);

final response = await request.send();

if (response.statusCode == 200) {

    return true;
}

return false;

当我通过以下方式调用函数时:

Future<List<File>> files;

    print("--1--");

    files.then((videos) {

      videos.forEach((video) async {
        
        // this call must be await but is not
        await uploadVideo(video);

      });
     print("--2--");

    });

    print("--3--");

控制台显示:

--1--

--3--

--2--

说明await函数没有await,请问是什么原因?

使用此代码

    List<File> videos = await files;
    print("--1--");
    for (var video in videos) {
      await uploadVideo(video);
      print("--2--");
    }
    print("--3--");
  }

--1--等待文件

--2-- 正在上传视频(--2-- 会打印多次)

--3-- 完成