diff --git a/lib/main/lockDetail/lockSet/uploadData/uploadData_logic.dart b/lib/main/lockDetail/lockSet/uploadData/uploadData_logic.dart index 4e730f60..114b1b9e 100644 --- a/lib/main/lockDetail/lockSet/uploadData/uploadData_logic.dart +++ b/lib/main/lockDetail/lockSet/uploadData/uploadData_logic.dart @@ -78,7 +78,9 @@ class UploadDataLogic extends BaseGetXController { cancelBlueConnetctToastTimer(); final int dataLength = reply.data[8]; - state.uploadPasswordDataList.addAll(reply.data.sublist(9, reply.data.length)); + // 使用同步方式添加数据到列表,避免竞态条件 + final newData = reply.data.sublist(9, reply.data.length); + state.uploadPasswordDataList.addAll(newData); if (dataLength == 10 || dataLength == 9) { // 当数据是10的时候继续请求 state.uploadPasswordPage = state.uploadPasswordPage + 1;