2012-01-15 22 views
1

我知道異步性是node.js的一半,它確實非常棒並且高效。但是在某些情況下,這種編程模式只是過度和困難。例如,如果你想編寫一個腳本,它需要一些用戶輸入並用它來創建一個MySQL行並保存它(我剛剛完成了這個)。真的很煩人,必須爲程序的每一個小步驟創建一個單獨的函數,然後讓它們全部相互調用。我應該如何着手強制node.js中的同步?

那麼應該如何處理這種情況呢?我嘗試了step,但它不能與coffee-script一起工作,因爲它要求以傳統方式聲明函數(function foo() {/* Bar */})。咖啡腳本,而不是創建匿名函數,並將它們分配給局部變量(var foo = function() {/* Bar */}

我在想混合一個方法讓等待回調運行的過程更簡單。拋開異步性的爭論,我會如何去做這件事?

回答

2

嘗試https://github.com/caolan/async

的「大多數依賴於」包就行了http://search.npmjs.org/提供了深入瞭解庫如何讚譽是節點社區內。 async排在第七位(依靠207個包)...

underscore 448 
coffee-script 341 
request  279 
express  268 
optimist  228 
connect  207 
async   207 
colors  199 
uglify-js  146 
socket.io  140 
redis   128 
jade   117 
jsdom   102 
commander  101 
mime   96 

避免使用CoffeeScript「不工作」的庫;他們很麻煩。

+0

'async'提供了很多非常完美的東西,可以簡化我慢下來的任務。感謝您的推薦! – Hubro 2012-01-15 09:46:02

0

這取決於你在做什麼,但Node.js中的幾個核心方法具有同步版本,如readFileSync

如果您正在處理沒有同步版本的方法,則應該查看步驟的替代方法,如async.js

相關問題