sadon8443
@sadon8443

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Flutterにてawaitを待たずに次の処理が実行される

Flutter にて awaitを設定しているが、その終了を待たずに次の処理が実行されてしまう。

FlutterでGoogleMapから画像を取ってクラスに入れようとしています。
先にawaitで画像が追加されるのを待ってから、setStateしたいのですが、setStateが先に実行されてしまいます。
私が調べた限りでは、asyncの中で実行している以上、先にawaitの中が実行され、そしてsetstate()が実行されるはずです。スクリーンショット (5).png

解決方法を教えて下さい。

---.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

2Answer

すみません、確認して欲しいのですが Future.forEach() の戻り値の型は何でしょうか? awaitできる型でしょうか?(await自体はnullでもできるが待たない

0Like

Your answer might help someone💌