मैं एक नौसिखिया JavaScripter हूं और मुझे V8 इंजन के अंदर जाने के बारे में कोई वास्तविक ज्ञान नहीं है।
यह कहने के बाद कि, मैं वास्तव में नोड्स.जेएस पर्यावरण में अपने शुरुआती किलों का आनंद ले रहा हूं, लेकिन मुझे लगता है कि मैं लगातार घटनाओं का उपयोग कर रहा हूं। वैश्विक घटनाओं से बाहर निकलने के लिए एक साधन के रूप में EventEmitter () ताकि मैं अपने कार्यक्रमों को एक नोटिफ़ायर-ऑब्जर्वर फिट करने के लिए संरचना कर सकूं जैसा कि मैं उद्देश्य-सी या पायथन कार्यक्रम में लिखूंगा, वैसा ही पैटर्न।
मैं खुद को हमेशा इस तरह की चीजें करते हुए पाता हूं:
var events = require('events');
var eventCenter = new events.EventEmitter();
eventCenter.on('init', function() {
var greeting = 'Hello World!';
console.log('We're in the init function!);
eventCenter.emit('secondFunction', greeting);
});
eventCenter.on('secondFunction', function(greeting) {
console.log('We're in the second function!);
console.log(greeting);
eventCenter.emit('nextFunction');
});
eventCenter.on('nextFunction', function {
/* do stuff */
});
eventCenter.emit('init');
इसलिए वास्तव में मैं 'async' नोड को संरचित कर रहा हूं। नोड कोड में कोड है जो मुझे उम्मीद है कि आदेश में चीजें करता है, इसके बजाय मैं "कोडिंग बैकवर्ड" कर रहा हूं अगर यह समझ में आता है। क्या यह कॉलबैक-भारी तरीके से करने में कोई अंतर होगा, प्रदर्शन-वार या दर्शन-वार? क्या घटनाओं के बजाय कॉलबैक का उपयोग करना बेहतर है?