代码之家  ›  专栏  ›  技术社区  ›  Aley

异步。js如何重复一个系列直到出现意外错误?

  •  0
  • Aley  · 技术社区  · 10 年前

    是否有方法重复一系列任务,直到出现意外错误 async.js ?

    像这样的

    async.series([
        function(callback) {
            // do stuff
        },
        function(callback) {
            // do more stuff
        },
        function(callback) {
            // do even more stuff
        },
        function(callback) {
            // more more more
        }
    ], function(error, results) {
    
        if(error.message.search(/ESOCKETTIMEDOUT|ETIMEDOUT/) == -1) {
            // stop here
        } else {
            // repeat series
        }
    });
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   robertklep    10 年前

    一种可能性:

    void function loop() {
      async.series([
          function(callback) {
              // do stuff
          },
          function(callback) {
              // do more stuff
          },
          function(callback) {
              // do even more stuff
          },
          function(callback) {
              // more more more
          }
      ], function(error, results) {
          if (error && error.message.search(/ESOCKETTIMEDOUT|ETIMEDOUT/) == -1) {
            // stop here
          } else {
            loop();
          }
      });
    }();