محمود الحبشمتاح لمشاريع جديدة
  • أعماليأعمالي
  • الخدماتالخدمات
  • المختبرالمختبر
  • المقالاتالمقالات
  • تواصلتواصل
عمّان--:--EN
المقالات/لايف واير

Debouncing و Throttling في Livewire v4

تحكم في تردد الطلبات لأداء أفضل.

1 فبراير 2026دقيقة قراءةلايف وايرRead in English

في هذه الصفحة

  1. Debounce - انتظر حتى يتوقف المستخدم
  2. Throttle - تقييد تردد الطلبات
  3. المقارنة

قلل طلبات الخادم مع debouncing و throttling لأداء أفضل.

Debounce - انتظر حتى يتوقف المستخدم

blade
<!-- debounce لحقل البحث - ينتظر 300ms بعد توقف الكتابة -->
<input 
    type="search"
    wire:model.live.debounce.300ms="search"
    placeholder="ابحث عن المنتجات..."
>

<!-- فترات debounce مختلفة -->
<input wire:model.live.debounce.150ms="quickSearch">
<input wire:model.live.debounce.500ms="slowSearch">
<textarea wire:model.live.debounce.1s="content"></textarea>

Throttle - تقييد تردد الطلبات

blade
<!-- throttle نقرات الزر - مرة واحدة كحد أقصى كل 500ms -->
<button wire:click.throttle.500ms="refresh">
    تحديث البيانات
</button>

<!-- throttle أحداث التمرير -->
<div 
    x-data 
    @scroll.window.throttle.200ms="$wire.loadMore()"
>
    محتوى التمرير...
</div>

<!-- throttle إرسال النماذج السريع -->
<form wire:submit.throttle.1s="save">
    <button type="submit">حفظ</button>
</form>

المقارنة

Debounce: ينتظر حتى يتوقف المستخدم، ثم ينفذ مرة
- استخدم لـ: حقول البحث، الحفظ التلقائي، التحقق
- مثال: يكتب "مرحبا" - ينفذ مرة بعد توقف الكتابة

Throttle: ينفذ فوراً، ثم يقيد التردد
- استخدم لـ: معالجات التمرير، أحداث تغيير الحجم
- مثال: ينقر 10 مرات - ينفذ مرتين كحد أقصى في الثانية
كل المقالات

تابع القراءة

  • التفويض في مكونات Livewire v41 فبراير 2026دقيقة قراءة
  • مترجم Blaze المسبق: مكاسب أداء هائلة في Livewire v41 فبراير 2026دقيقة قراءة
  • بناء ميزة الإشارات المرجعية مع Livewire v41 فبراير 2026دقيقة قراءة