У меня есть функция asyn c, как показано ниже. Однако содержимое возвращается нулевым задолго до завершения прослушивания потока.
Я начал играть с Future.delayed, но подумал об этом и хотел спросить, есть ли лучший подход, чтобы убедиться, что это asyn c?
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();