flutter 如何减少API加载时间抖动

bq3bfh9z  于 2023-03-19  发布在  Flutter
关注(0)|答案(1)|浏览(131)

我正在使用restapis来显示数据,但是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。

pbgvytdp

pbgvytdp1#

我看到您正在使用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时间。

相关问题