我已在我的应用程序中添加了哨兵客户端,以便我可以跟踪问题。我无法在我的应用程序或开发过程中产生此问题。
我的实时应用程序中出现此异常
system
exception
stacktrace
frame
filenameunparsed
frame
filename<asynchronous suspension>
frame
filenametournament.dart
function_TournamentState._getTournamentData
frame
filenameframework.dart
functionState.setState
typeNoSuchMethodError
不确定用户遇到的问题的结果是什么。
下面是tournament.dart
页中与此相关的代码。.屏幕的主要部分。
class _TournamentState extends State<Tournament> {
bool _isLoading = true;
bool internet;
var tournamentData;
@override
void initState() {
internetCheck();
_getTournamentData();
super.initState();
}
_getTournamentData() async {
if(!mounted) return;
var res = await CallApi().getData('tournaments-listing');
final body = json.decode(res.body);
if(res.statusCode==200){
var data = TournamentAndEvent.fromJson(body);
store.dispatch(TournamentData(data));
setState(() {
_isLoading = false;
});
}
这样的ui代码
SingleChildScrollView(
child: Column(
children: _runningLeagues(),
),
),
List<Widget> _runningLeagues(){
List<Widget> leagues = [];
for(var tr in store.state.tournamentData.runningTr){
leagues.add(Running(tr));
}
return leagues;
}
要注意的另一件事是,在我的第一个屏幕中,我缓存了数据并立即显示它,然后当原始数据到达时,我用新数据更新ui并将其保存在sharedpreference中。
因此,当用户在主页屏幕和本比赛屏幕之间切换时,可能会出现此问题。我不确定。该屏幕没有任何缓存等。
谢谢。