当前位置:网站首页>flutter异步

flutter异步

2022-08-10 02:37:00 氤氲息

参考
参考

getData() async {
        //async关键字声明该函数内部有代码需要延迟执行
	return await http.get(Uri.encodeFull(url), headers: {
    "Accept": "application/json"}); //await关键字声明运算为延迟执行,然后return运算结果
}

如果需要调用getData方法,要为这个给data赋值的语句加一个async函数的包装:

String data;
setData() async {
    
	data = await getData();    //getData()延迟执行后赋值给data
}

await关键字必须在async函数内部使用
调用async函数必须使用await关键字
Future.value():返回一个指定值的Future

例子
列表的缓存一般是放在本地数据库中

  Future<String?> _getConfigData() async {
    //Future<String?>可以省略的
    print('getVipHead=====_getConfigData====');
    if (!DatabaseUtil.isDatabaseReady) {
    
      DatabaseUtil.initDatabase();
    }
    var data = await DatabaseUtil.queryHttp(//从数据库里面查询数据,使用异步操作,async和await
        DatabaseUtil.database!,
        NetUtils.getCacheKeyFromPath(
            Api.BUSINESS_BASE_API + Api.API_GETCONFIG, {
    }));
    // print('getVipHead=====_getConfigData====${json.decoder.convert(data.first['value'])}');
    return json.decoder.convert(data.first['value']);
  }
原网站

版权声明
本文为[氤氲息]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_44911775/article/details/126253189