Flutter/Flutter개발
[Flutter개발] backgroundImage에서 비동기 함수 사용하기
달님개발자
2023. 10. 18. 14:21
반응형
backgroundImage에서 동기함수(同期函數, Synchronous function)는 그냥 아래처럼 사용하면 된다.
child: CircleAvatar(
backgroundImage: AvatarImageUtil.getAvatarImage(imageName: 'a.png'),
radius: 20, // Adjust the radius as needed
),
static AssetImage getAvatarImage({String? imageName = ""}) {
}
근데 아래처럼 비동기 함수를 부를려고 했는데, 그냥은 안된다. await를 붙이면 될줄 알았는데... 위젯에 좀 복잡해서(FutureBuilder를 위에서 이미 사용중) 에러가 난다.
static Future<ImageProvider> loadMyAvatarImage({String? imageName = ""}) async {
}
이럴때는 여기에서도 아래처럼 FutureBuilder를 사용하자.
child: FutureBuilder(
future: AvatarImageUtil.loadMyAvatarImage(imageName: 'a.png'),
builder: (context, imageSnapshot) {
if (imageSnapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
}
final imageProvider = imageSnapshot.data;
return CircleAvatar(
backgroundImage: imageProvider,
radius: 20,
);
},
),
반응형