首页 > 解决方案 > else 运行 5 次,5 次后抛出错误

问题描述

我有以下代码,我通过它的 id 值搜索动态复选框......一切都很好,但是,我不想陷入感知旋转和无休止的重新检查我的else,我该如何限制下面将 else (重新检查函数)运行到maximum of 5 times? ...也许这个问题更多是try catch re catch语义上的?

我在 SO 上的 Java 中找到了一个接近的解决方案,但在 JavaScript 中没有。

在第 5 次检查控制台错误后应该抛出,我想检查最多 5 次以处理加载时间不一致。

            let txt= document.querySelector('input[id^="txt"]');
            if (txt) {
                console.log("success");
                setTimeout(go__, 2000);
            } else { 
                console.log("try again");
                setTimeout(currentFunction, 22);
            }

标签: javascriptif-statementecmascript-6try-catch

解决方案


很简单,只需添加一个计数器并在其他所有内容中 ++ 它

 let txt= document.querySelector('input[id^="txt"]');
 let counter = 0;
            if (txt) {
                console.log("success");
                setTimeout(go__, 2000);
            } else if(counter < 5){ 
                console.log("try again");
                setTimeout(currentFunction, 22);
                counter++;
            }

然后你可以随时重置你的计数器


推荐阅读