【问题标题】:else to run 5 times, after 5 times throw errorelse 运行 5 次,5 次后抛出错误
【发布时间】:2020-06-18 16:27:48
【问题描述】:

我有以下代码,我通过它的 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);
            }

【问题讨论】:

    标签: javascript if-statement ecmascript-6 try-catch


    【解决方案1】:

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

     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++;
                }

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

    【讨论】:

    • 谢谢。从语义上讲,try catch re-catch 在这里更合适吗?
    • 也许,我就是喜欢用这么简单的东西来解决难题?,简单的永远是最好的;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 2021-04-12
    相关资源
    最近更新 更多