【发布时间】:2020-04-18 00:33:01
【问题描述】:
我有一个如下所示的异步函数。但是,在流侦听完成之前,内容将返回 null。
我开始玩 Future.delayed,但想得更好,想问是否有更好的方法来确保它是异步的?
import 'package:googleapis/drive/v3.dart' as ga;
static Future<String> getContentsFromFile() async {
String content;
ga.Media mediaResponse = await drive.files.get(fileId);
mediaResponse.stream.listen((data) {
print("DataReceived: "+data);
content = data
}, onDone: () async {
print("Task Done");
}, onError: (error) {
print("Some Error");
});
return content;
}
我像这样调用函数..
String content = await getContentsFromFile();
【问题讨论】:
-
您正在收听的流是什么?
-
一个谷歌驱动文件(媒体),它应该是 media.stream.listen