在Node.js中執行一系列異步操作的好方法是什麼?這適用於腳本類型的應用程序,應用程序應該從命令行運行,然後完成作業,它不在應該坐在後臺並同時處理幾個不同事物的服務器上下文中。在node.js中執行一系列異步操作
我知道承諾/ A +又名Thenables的,但語法沒有得到那該多好:
do_some_stuff().then(
function() {
do_some_other_stuff().then(
function() {
do_the_last_stuff().then(
function() {
// we are done with everything!
}
)
}
)
}
);
當我們有更多的操作壓痕將使它看起來很醜陋。
我喜歡茉莉花是如何做到的,異步操作在這裏傳遞了一個函數,它在完成時應該調用它。基於這個想法,我創建了一個名爲AsyncSequence的東西。 AsyncSequence執行一系列操作,每個操作都會通過一個done
函數,該函數應在完成時調用。使用AsyncSequence上面看起來像:
AsyncSequence.run(
function(done) {
do_some_stuff().then(done);
},
function(done) {
do_some_other_stuff().then(done);
},
function(done) {
do_the_last_stuff().then(done);
},
function() {
// we are done with everything!
}
);
這個工作,它看起來更好,我認爲,但我不知道是否有這樣做的更「標準」的方式?當你調整Node.js程序員看到這個的時候,有沒有什麼類似於我的AsyncSequence?或者不完全相似的東西,但可以用於相同的目的?
你寫什麼,似乎類似於https://github.com/caolan/async – 2014-08-28 09:05:42