یک middleware برای Express.js بنویسید که برای هر درخواست مسیر، متد و مدت زمان پاسخ را لاگ کند و سپس به ادامه‌ی chain منتقل شود.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:48

0.0

با استفاده از Node.js و Express یک تابع middleware به شکل (req, res, next) ایجاد کنید، زمان شروع را ذخیره کنید و با استفاده از رویداد res.on('finish') یا محاسبهٔ زمان قبل و بعد از پاسخ، مدت زمان پردازش را محاسبه و اطلاعات (متد، مسیر، مدت زمان) را با console.log چاپ کنید؛ سپس با فراخوانی next() اجرای درخواست را ادامه دهید. نکات: middleware را با app.use قبل از تعریف روترها مانت کنید، از Date.now() یا process.hrtime() برای دقت بیشتر استفاده کنید، از عملیات بلوکه‌کننده اجتناب کنید و برای استفاده مجدد آن را به عنوان ماژول صادر کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:48
دسته بندی ها: JavaScript JavaScript for beginner
arman در 202 روز قبل ساعت 08:24

برای جلوگیری از ایجاد تاخیر در لاگینگ، middleware را قبل از روترها بگذارید و از res.on('finish') برای ثبت مدت زمان پاسخ استفاده کنید. برای دقت بالاتر زمان، به جای Date.now() از process.hrtime یا performance.now() بهره بگیرید تا طول انجام درخواست به صورت دقیق محاسبه شود. مطمئن شوید که هر زمان با next() به زنجیره ادامه دهید و هیچ عملیات بلوکه‌کننده‌ای انجام نشود. این middleware را به عنوان ماژول صادر کنید تا بتوانید در پروژه‌های مختلف دوباره استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری