TGViewer
کدهالیک | codehalic کدهالیک | codehalic @codehalics · 4.15K subscribers
Post #1109 1.22K
گزارش‌های فنی جدید از رفتار متد fetch در JavaScript نشون میدن که این تابع برعکس تصور خیلی از برنامه‌نویس‌ها، وقتی resolve میشه اصلاً کل دیتا رو دانلود نکرده و فقط هدرها (headers) رو تحویل میده.

در واقع همون لحظه بدنه پاسخ یا همون body هنوز روی یک سوکت باز شبکه به شکل یک ReadableStream قطره‌قطره در حال دریافته و این موضوع چند تا چالش جدی ایجاد می‌کنه.

برای مثال، فرض کنید یه ریکوئست می‌زنید و با استفاده از Promise.race براش یه تایم‌اوت ۲۰۰ میلی‌ثانیه‌ای تعیین می‌کنید؛ اگر سرور هدرها رو تو ۵۰ میلی‌ثانیه بفرسته اما دانلود دیتای اصلی دو ثانیه طول بکشه، تایم‌اوت شما عملاً بی‌اثر میشه چون فاز لود هدر با موفقیت تموم شده و برنامه روی دانلود بادی روی هوا می‌مونه.

علاوه بر مشکل تایم‌اوت، اگه تو محیطی مثل Node.js فقط status رو چک کنید و از پردازش بادی بگذرید، کانکشن TCP بسته نمیشه و استخر کانکشن های سرورتون رو بی‌دلیل اشغال می‌کنه.

پس به عنوان یک قاعده‌ کلی برای جلوگیری از این باگ‌های پنهان، همیشه باید چرخه ریکوئست رو با خوندن کامل دیتا از طریق متدهایی مثل json یا text ببندید و برای مدیریت درست تایم‌اوت‌ها هم مستقیماً سراغ AbortSignal.timeout برید.

https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/

@codehalics | کدهالیک
  • ❤ 8
  • 👍 3
More from @codehalics
  1. Oct 3, 2026امروز سرور کدهالیک یه مدت از دسترس خارج شد. بعد از پیگیری معلوم شد هیت‌سینک سرور مشکل داشت…
  2. Oct 3, 2026کارآموز .net اگر به دنیای نرم‌افزار علاقه دارید و برای یادگیری و حل مسئله کنجکاو و پرتلاش…
  3. Oct 3, 2026یه اصطلاح باحالی توش استفاده کرد بود به اسم«اقتصاد دمبلی» (Barbell Economy) مفهوم اقتصاد د…
  4. Oct 3, 2026تو این مقاله‌ای که خوندم نویسنده میگه هنوز برای ساختن یه کسب‌وکار از صفر تو عصر هوش مصنوعی…
  5. Oct 3, 2026دقیقاً مشابه این اتفاق چند سال پیش برای Faker.js افتاد؛ نگهدارنده اصلی پروژه بعد از مدت‌ها…
  6. Oct 3, 2026خبر فوری برای دنیای .NET؛ Polly هم پولی شد! این ابزار هم رفت سراغ مدل تجاری و بخشی از استف…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →