"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يجب أن أتجنب استخدام Fetch لواجهة برمجة التطبيقات الداخلية في getServersIdeProps ()؟

لماذا يجب أن أتجنب استخدام Fetch لواجهة برمجة التطبيقات الداخلية في getServersIdeProps ()؟

نشر في 2025-03-05
تصفح:250

Why Should I Avoid Using Fetch for Internal APIs in getServerSideProps()?

على سبيل المثال ، عند استخدام getServersIdeProps () لجلب واجهة برمجة تطبيقات داخلية تُرجع بيانات المستخدم ، من الطبيعي أن نعتقد أن هذا النهج مثالي لأغراض كبار المسئولين الاقتصاديين. ومع ذلك ، تنصح وثائق Next.js بعدم استخدام FETCH () لاستدعاء طرق API داخل getServersIdeProps (). GetServersIdeProps () وتنفيذ طرق API على الخادم. هذا الطلب الإضافي غير فعال ولا يوفر فائدة إضافية. هذا يسمح لـ GetServersIdeProps () بالتفاعل المباشر مع قاعدة البيانات أو نظام الملفات أو الموارد الأخرى دون تقديم مكالمات API غير الضرورية.

تصدير معالج دالة ASYNC الافتراضي (REQ ، RES) { استجابة const = انتظر الجلب (/ * نقطة نهاية API الخارجية */) ؛ const jSondata = Await Response.json () ؛ Res.Status (200) .Json (Jsondata) ؛ }

يمكن استخراج هذا المنطق في وظيفة منفصلة يمكن استخدامها في كل من مسار API و getServersIdeProps (): // pages/api/user تصدير وظيفة async getData () { استجابة const = انتظر الجلب (/ * نقطة نهاية API الخارجية */) ؛ const jSondata = Await Response.json () ؛ إرجاع jsondata ؛ } تصدير معالج دالة ASYNC الافتراضي (REQ ، RES) { const jSondata = في انتظار getData () ؛ Res.Status (200) .Json (Jsondata) ؛ }

هذا يسمح بإعادة استخدام وظيفة getData () في getServersIdeProps ():

// pages/home استيراد {getData} من './API/USER' ؛ تصدير وظيفة async getServersIdeProps (السياق) { const jSondata = في انتظار getData () ؛ // ... } باتباع هذه الإرشادات ، يمكن للمطورين تحسين أداء وكفاءة تطبيقات NEXT.JS الخاصة بهم مع الحفاظ على فوائد كبار المسئولين الاقتصاديين.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3