execute method
重试尝试 每一步在失败第一次时将重新尝试.当达到最多尝试次数时,重新开始
Implementation
Future<void> execute() async {
while (currentStep < 3) {
Result result = await _performStep(currentStep);
// 检查结果是否正确
if (result.isSuccessful) {
_status = result.status;
_checkStatusChanged();
} else {
// 处理步骤执行失败的情况
errorCode = result.errorCode;
int maxRetries = retryCounts[currentStep] ?? 0;
if (currentRetry < maxRetries) {
currentRetry++;
continue;
} else {
// 当步骤达到最大重试次数时,重新开始整个流程
restart();
}
}
// 检查是否应该提前结束整个流程
if (shouldTerminate) {
break;
}
// 前进到下一个步骤
currentStep++;
currentRetry = 0; // 重置当前重试次数
}
}