2015-12-23 58 views
0

有沒有辦法重複執行一系列任務,直到async.js發生意外錯誤?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

一種可能性:

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

這是一個好主意。 – Aley

+0

@Aley它是如何工作的?它是否解決了這個問題,或者你是否以其他方式實現了其他方面? –

+0

的確如此。我認爲在async.js中有一個實現,但這個解決方案按預期工作。 – Aley

相關問題