【问题标题】:Stop a loop from going round until a condition has been met javascript [duplicate]停止循环直到满足条件javascript [重复]
【发布时间】:2017-10-10 14:29:33
【问题描述】:

我知道这听起来是个坏主意,但有没有办法阻止循环循环,直到在 javascript 中满足条件。

我正在使用下划线 .each 循环:

foobar.each(function (foo)

有没有办法在满足条件时只循环到下一个元素?否则在最后等待。

原因是我在循环中从 URL 中检索数据。 URL 会根据条件更新。除非循环等待,否则它将使用相同的 URL 租用循环。因此,我会得到两次相同的数据。

【问题讨论】:

    标签: javascript underscore.js


    【解决方案1】:

    除了抛出异常之外,没有其他方法可以停止或中断 forEach() 循环。如果你需要这样的行为,forEach() 方法是错误的工具。请改用普通循环。如果您正在测试谓词的数组元素并且需要布尔返回值,则可以改用every()some()。如果可用,新方法 find()findIndex() 也可用于在真谓词上提前终止。

    MDN Link

    【讨论】:

    • 正常循环不会导致同样的问题。我不需要完全中断或停止。我需要暂停一下。它需要执行每个循环。恰逢其时。
    • 那么你需要某种生成器函数......它会根据你的调用暂停或产生
    • 好的,谢谢。我认为顶部发布的副本中的逻辑将起作用。不过,我会研究这两种方式。
    • 我研究了生成器函数。它们似乎正是我所需要的,谢谢。
    猜你喜欢
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2018-11-09
    • 2022-01-02
    • 2021-12-24
    • 1970-01-01
    相关资源
    最近更新 更多