我正在使用Dio
包来处理一个httpapi请求,它运行得很好。但是我有一个要求,我想在向服务器发送数据时显示进度。我有以下代码CommonApiProvider.dart
static Future saveUserData(Map params) async {
try {
var body = json.encode(params);
final response = await _dio!.post("${globals.apiUrl}SaveUserData/",
data: body,
onSendProgress: (int sent, int total) {
print("$sent kb of data sent of total $total kb");
});
if (response.statusCode == 200) {
Map<String, String> d = Map<String, String>.from(response.data);
return d;
} else {
return null;
}
} catch (exception) {
return null;
}
}
我从我的GetX
控制器调用它,如下所示
Future saveUserData() async{
Map params = {
....
};
var res = await CommonApiProvider.saveUserData(params);
.......
}
上面的代码可以工作,并在调试控制台中打印进度。但是,我想在Widget
中向用户显示此信息。
有人能告诉我怎么做吗?
1条答案
按热度按时间vh0rcniy1#
一种简单的方法是将相同的回调传递给
saveUserData
。