আমি একজন শিক্ষানবিস জাভাস্ক্রিপ্টার এবং ভি 8 ইঞ্জিনের ভিতরে কী চলে তার কোনও সত্যিকারের জ্ঞান নেই।
এই কথাটি বলে, আমি নোড.জেএস পরিবেশে আমার প্রথম দিকের প্রচারণা উপভোগ করছি কিন্তু আমি দেখতে পেয়েছি যে আমি ক্রমাগত ইভেন্টগুলি ব্যবহার করে যাচ্ছি। আমি যা লিখতে চাই তার অনুরূপ প্যাটার্নটি একটি উদ্দেশ্য-সি বা পাইথন প্রোগ্রাম বলে।
আমি নিজেকে সর্বদা এই জাতীয় জিনিসগুলি দেখতে পাই:
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' নোড.জেএস কোডটি কোডের মধ্যে কাঠামোগত করছি যা আমার প্রত্যাশা অনুসারে কাজগুলি করে, পরিবর্তে আমি "পিছনে কোডিং" ধরণের করছি যদি এটি বোঝা যায়। পারফরম্যান্স বুদ্ধিমান বা দর্শন-ভিত্তিক, কলব্যাক ভারী উপায়ে এটি করার ক্ষেত্রে কি কোনও পার্থক্য থাকবে? ইভেন্টগুলির পরিবর্তে কলব্যাক ব্যবহার করে একই জিনিস করা ভাল কি?