【问题标题】:Adding an interval between foreach loops在 foreach 循环之间添加间隔
【发布时间】:2014-02-13 21:08:31
【问题描述】:

基本上我的代码使用 foreach 循环为数组中的每个键执行一些代码。然而,问题在于这段代码访问的 API 只允许每半分钟 50 个请求。为了防止我的请求被阻止,我想在循环中添加一个计时器,以检查自本轮开始以来是否至少经过一秒钟,然后才能继续下一轮。 关于如何实现这一点的任何建议?

【问题讨论】:

    标签: php loops foreach timeout wait


    【解决方案1】:

    最简单的方法是使用sleep

    sleep(10); // 10 seconds for example
    

    更多信息请访问PHP官方文档

    Delays the program execution for the given number of seconds

    【讨论】:

      【解决方案2】:

      您是否尝试在循环中使用 sleep() 方法?

      foreach($array as $key => $val){
          sleep(1); //parameter in seconds
          // keep rock'n rolling
      }
      

      【讨论】:

        【解决方案3】:

        我发现 setTmeout 在这种情况下最有用,只要确保迭代之间有偏移延迟。

        简单的 Angular 示例,

        angular.forEach(someArray, index) {
            $timeout(function() {
                    function1();
                    function2(); 
            }, 100 * (index + 1) );
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-02-01
          • 2021-08-06
          • 2018-03-24
          • 1970-01-01
          • 2017-01-05
          • 2015-01-14
          • 2022-12-02
          • 1970-01-01
          相关资源
          最近更新 更多