如何减少api加载时间抖动



我使用rest api来显示数据,但对于api加载来说,它需要更多的时间,如何在flutter中减少时间。

Future getData0() async {
Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
final SharedPreferences prefs = await _prefs;
var receivedToken = "Bearer " + prefs.getString("BearerToken");
var receivedstoreid=prefs.getString("store_id");
http.Response res = await http.get(
"http://Domainname.com/api/rest/cart",
headers: {
'Authorization': receivedToken,
'X-Oc-Store-Id': receivedstoreid,
},
);

Map mapRes = jsonDecode(res.body);
print('Response from server: $mapRes');
get_cart_item = GetCart.fromJson(mapRes);
print(get_cart_item.toJson());

我这样调用get和post api。

我看到您正在使用http包进行请求。与其使用http.get()为每个请求建立新的连接,不如创建一个可重用的http.Client(),并使用此客户端访问您的API。这将帮助您减少每次请求前的连接等待时间。

代码演示

// Create a reusable HTTP client
final client = http.Client();
void getData(){
// Reuse the client created above for all API requests
final response = client.get(...);
...
}
void getDifferentData(){
// Reuse the client created
final response = client.get(...);
...
}

这将帮助您显著减少API时间。

最新更新