async.js 如何重复一系列直到出现意外错误?

async.js how to repeat a series until an unexpected error occurs?

有没有办法重复一系列任务,直到 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
    }
});

一种可能:

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();
      }
  });
}();