در یک برنامه Node.js با استفاده از Express یک middleware بنویسید که برای هر درخواست زمان پردازش را محاسبه کند، آن را در هدر جواب با نام "X-Response-Time" قرار دهد و مدت زمان را در کنسول لاگ کند.
1.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:04 0.0
از ساختار middleware در Express با امضای (req, res, next) استفاده کنید؛ زمان شروع را با Date.now() یا process.hrtime ثبت کنید و برای محاسبهٔ زمان قبل از ارسال پاسخ تابع res.end را بازنویسی کنید (یا از بستههایی مثل on-headers استفاده کنید) تا بتوانید هدر "X-Response-Time" را پیش از فرستادن دادهها قرار دهید، سپس خروجی مدت را با console.log نشان دهید و در پایان next() را فراخوانی کنید. نکات: اگر res.end را بازنویسی میکنید مطمئن شوید که تابع اصلی res.end با آرگومانها فراخوانی شود و استفاده از process.hrtime دقت بالاتری نسبت به Date.now() دارد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اندازهگیری دقیق مدت زمان پاسخ در یک middleware Express، از process.hrtime.bigint() یا process.hrtime() استفاده کنید تا با دقت بالاتر از Date.now باشد. سپس با بازنویسی res.end یا با استفاده از رویداد finish، مدت زمان را در میلیثانیه در هدر X-Response-Time قرار داده و آن را در کنسول لاگ کنید. مطمئن شوید که res.end با آرگومانهای اصلی صدا میشود تا پاسخ درست ارسال شود و در پایان next() را فراخوانی کنید تا زنجیره middleware به کار خود ادامه دهد.
گزارش