一种可能性:
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();
}
});
}();