में नोडजेस में बहुत सारे कॉलबैक रिकर्सन का प्रबंधन, वस्तुतः कोई अवरुद्ध I/O संचालन नहीं है। इसका मतलब है कि लगभग सभी नोडज आईओ कोड में कई कॉलबैक शामिल हैं। यह पढ़ने के लिए लागू होता है और लिखने के लिए/डेटाबेस, फ़ाइलें, प्रक्रियाओं, आदि इस का एक विशिष्ट उदाहरण से निम्नलिखित है:नोडज
var useFile = function(filename,callback){
posix.stat(filename).addCallback(function (stats) {
posix.open(filename, process.O_RDONLY, 0666).addCallback(function (fd) {
posix.read(fd, stats.size, 0).addCallback(function(contents){
callback(contents);
});
});
});
};
...
useFile("test.data",function(data){
// use data..
});
मैं कोड है कि कई आईओ संचालन कर देगा लेखन की आशंका कर रहा हूँ, इसलिए मैं उम्मीद लिखने के लिए कई कॉलबैक। मैं कॉलबैक का उपयोग करने में काफी सहज हूं, लेकिन मैं सभी रिकर्सन के बारे में चिंतित हूं। क्या मुझे बहुत ज्यादा रिकर्सन में भागने और कहीं स्टैक के माध्यम से उड़ने का खतरा है? अगर मैं अपने कुंजी-मूल्य स्टोर में हजारों कॉलबैक के साथ हजारों व्यक्ति लिखता हूं, तो क्या मेरा कार्यक्रम अंततः दुर्घटनाग्रस्त हो जाएगा?
क्या मैं प्रभाव को गलतफहमी या कम करके समझ रहा हूं? यदि नहीं, तो क्या अभी भी नोडज की कॉलबैक कोडिंग शैली का उपयोग करते हुए इसे पाने का कोई तरीका है?
विषय पुराना है लेकिन async: https://github.com/caolan/async – fider