我使用颤振将移动应用程序通过蓝牙连接到另一个设备。我有一个包含十六进制值的文件,所以我将文件的内容转换为list,并将这个列表拆分为子列表,每个列表包含19个值。首先,我必须发送第一个包(第一个子列表),然后,如果我收到通知,我必须一个一个地发送其余的,在发送之后,我必须收到一个成功的通知。现在,我发送了第一个通知,收到了通知,但是除了在按钮上单击另一个时间之外,其余的部分都没有发送。这是我的密码:
 await Future.forEach(chunks, (chunk) async {
                        for (int i = 0; i < 1; i++) {
                          c.write(chunk as List<int>, withoutResponse: true);
                          c.read();
                        }
                        if (c.isNotifying == true) {
                          for (int i = 1; i < 247; i++) {
                            c.write(chunk as List<int>, withoutResponse: true);
                            c.read();
                            await Future.delayed(const Duration(seconds: 4));
                          }
                        }
                      });
                    },如果我的代码有问题,请告诉我,谢谢您的帮助。
发布于 2022-10-13 10:34:23
我有些问题要问。
List<List<Command>>对您来说是没有选择的?PS:请使用没有像这样的函数文字的forEach
BAD:
Future.forEach((chunks) {...});GOOD:
for (var chunk in chunks) {...}https://stackoverflow.com/questions/74054063
复制相似问题