Flutterにてawaitを待たずに次の処理が実行される
Flutter にて awaitを設定しているが、その終了を待たずに次の処理が実行されてしまう。
FlutterでGoogleMapから画像を取ってクラスに入れようとしています。
先にawaitで画像が追加されるのを待ってから、setStateしたいのですが、setStateが先に実行されてしまいます。
私が調べた限りでは、asyncの中で実行している以上、先にawaitの中が実行され、そしてsetstate()が実行されるはずです。
解決方法を教えて下さい。
---.then(
(value) async {
List photos = [];
await Future.forEach(
value.result!.photos!,
(element) {
Photo photo = element as Photo;
googlePlace.photos
.get(photo.photoReference!, 200, 200)
.then((value) {
photos.add(value);
print('先に実行したい');
});
},
);
setState(() {
places.add(Place(
name: value.result!.name,
address: prediction.description,
images: photos,
));
print('後で実行したい');
0 likes