2013-10-27 25 views
2

我來自PHP背景,現在正在嘗試適應Node.js的事件驅動範例。但是,我的代碼很快就會變得混亂。下面我將程序代碼與實際的Node.js Redis代碼進行比較。我做對了嗎?Node.js事件驅動範例=亂碼?

PROCEDURAL(pseude代碼)

if(!client.get("user:name:koen")) { 
    client.set("user:name:koen", "user:id:" + client.incr("count:users")); 
} 

事件驅動(實際代碼)

client.get("user:name:koen", function(err, res) { 
    if(!res){ 
    client.incr("count:users", function(err, count){ 
     client.set("user:name:koen", "user:id:" + count, function (err, res) { 
     callback(err, res); 
     }); 
    }); 
    } 
}); 
+0

看看延期概念的jQuery或s類似的圖書館。在我看來,它使代碼更具可讀性。 – Sirko

+1

你的意思是「同步與異步」。兩者都是程序性的。至於主要問題:是的,這是你如何在異步範例中做到這一點。你可以使用一些助手(如[async.js](https://github.com/caolan/async)),但最終它會看起來更像或者更少。 – freakish

+0

好的,這就是我需要知道的。只是想確保我沒有過於複雜的事情。謝謝。 – koen

回答

1

回調地獄,在問題中提到,在greately這裏解釋,以及如何編寫代碼爲了避免它:

http://callbackhell.com/