deleteMessageOneByOne method

void deleteMessageOneByOne()

逐条删除

Implementation

void deleteMessageOneByOne() async {
  if (!await haveConnectivity()) {
    return;
  }

  if (_selectedMessages.length < 100) {
    _deleteMsgList(_selectedMessages);
  } else {
    //远端删除消息,每次最多删除99条
    int i = 0;
    int j = 99;
    final deleteMessage = List.of(_selectedMessages);
    while (i < deleteMessage.length && j <= deleteMessage.length) {
      //异步操作防止触发频控
      await _deleteMsgList(
          deleteMessage.sublist(i, min(j, deleteMessage.length)));
      i = j;
      j = min(j + 99, deleteMessage.length);
    }
  }
}