我正在用ImagePicker
实现一个个人资料图片上传,并将逻辑放入一个按钮的onPressed
函数中,如下所示:
OutlinedButton.icon(
icon: Icon(Icons.upload),
label: Text("Select profile picture"),
onPressed: () async {
XFile? image = await introVM.imagePicker.pickImage(
source: ImageSource.gallery,
imageQuality: 50,
preferredCameraDevice: CameraDevice.front);
if (image != null) introVM.setProfilePicture(image!.path);
},
);
一切正常,没有错误,但我得到了一个关于async
部分的lint警告:
需要一个同步函数,但获得异步。
我做错了吗?
1条答案
按热度按时间igetnqfo1#
根据Dart Code Metrics,这是对Dart代码设计的警告,避免在预期同步的情况下调用异步函数。
avoid-passing-async-when-sync-expected
为了避免抱怨,现在有两种方法。
1.使用then()方法
1.使用匿名函数(我不喜欢这个函数,我们应该把它转换成一个单独的函数)