错误:org-dartlang-debug:synthetic_debug_expression:1:1:错误:未定义名称“数据”。数据是列表(调试时)

问题描述 投票:0回答:1

错误:org-dartlang-debug:synthetic_debug_expression:1:1:错误:未定义名称“数据”。 数据是列表 调试时 这条路是真的 这是我的代码

导入'包:flutter/material.dart'; 导入'包:flutter/services.dart';

类 SharedPref 扩展 StatefulWidget { const SharedPref({super.key});

@覆盖 状态 createState() => _SharedPrefState(); }

类 _SharedPrefState 扩展状态 { 无效 readCountryCode() 异步 { 变量数据= 等待 rootBundle.loadString('assets/local_files/country_code.json'); 打印(数据); 打印('对象'); }

@覆盖 小部件构建(BuildContext上下文){ 返回脚手架( 身体:中心( 子: Image.asset('images/logo.png'), ), ); } }

我尝试从json读取数据

json flutter dart sharedpreferences
1个回答
0
投票

异步操作不会立即完成。当您等待数据时,将执行以下几行。因此,数据是未定义的。异步计算不会阻止您的代码执行。

请尝试以下操作:

Future<List> readCountryCode() async {
    var data =
        await rootBundle.loadString('assets/local_files/country_code.json');
    return data;
  }

print(readCountryCode());

正如您所提到的,我已将未来的返回类型指定为 List。

FYR - https://api.flutter.dev/flutter/dart-async/Future-class.html

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.