আমি সবেমাত্র নোড ব্যবহার শুরু করেছি এবং একটি জিনিস যা আমি দ্রুত লক্ষ্য করেছি তা হ'ল কলব্যাকগুলি কত তাড়াতাড়ি ইন্ডেন্টেশনের নির্বোধ স্তর তৈরি করতে পারে:
doStuff(arg1, arg2, function(err, result) {
doMoreStuff(arg3, arg4, function(err, result) {
doEvenMoreStuff(arg5, arg6, function(err, result) {
omgHowDidIGetHere();
});
});
});
সরকারী শৈলী গাইড একটি পৃথক ফাংশন প্রতিটি কলব্যাক করা বলছেন, কিন্তু যে মাত্রাতিরিক্ত বন্ধ ব্যবহারের উপর নিয়ন্ত্রণমূলক বলে মনে হয় এবং তৈরীর একটি একক বস্তুর শীর্ষ স্তরের ঘোষণা প্রাপ্তিসাধ্য বেশ কয়েক স্তর নিচে, যেমন বস্তুর সব মাধ্যমে গৃহীত হবে মধ্যবর্তী কলব্যাক
এখানে সহায়তা করার জন্য ফাংশন স্কোপ ব্যবহার করা কি ঠিক হবে? এমন সমস্ত কলব্যাক ফাংশন রাখুন যা গ্লোবাল-ইশ অবজেক্টে অ্যাক্সেসের প্রয়োজন এমন কোনও ফাংশনের ভিতরে রাখুন যা সেই অবজেক্টটিকে ঘোষণা করে, তাই এটি বন্ধ হয়ে যায়?
function topLevelFunction(globalishObject, callback) {
function doMoreStuffImpl(err, result) {
doMoreStuff(arg5, arg6, function(err, result) {
callback(null, globalishObject);
});
}
doStuff(arg1, arg2, doMoreStuffImpl);
}
এবং আরও অনেক স্তর জন্য ...
অথবা প্রতিটি একক কলব্যাকের জন্য নামকরণের ফাংশন ঘোষণা না করে ইন্ডেন্টেশনের মাত্রা হ্রাস করতে ফ্রেমওয়ার্কস ইত্যাদি রয়েছে? আপনি কলব্যাক পিরামিডকে কীভাবে মোকাবেলা করবেন?