هل يمكنك إطلاعي على ما تفعله وظيفة TS هذه؟
وظيفة التصدير debounce<T Extends ReadonlyArray<any>>(رد الاتصال: (...args: T) => غير معروف، تأخير: رقم) {
السماح للمهلة: ReturnType<typeof setTimeout> | غير معرف؛
العودة (...الوسائط: T) => {
إذا عادت (المهلة) ؛
المهلة = setTimeout(() => {
رد الاتصال(...args);
المهلة = غير محددة؛
}، تأخير)؛
};
}
هل يمكنك إطلاعي على ما تفعله وظيفة TS هذه؟
وظيفة التصدير debounce<T Extends ReadonlyArray<any>>(رد الاتصال: (...args: T) => غير معروف، تأخير: رقم) {
السماح للمهلة: ReturnType<typeof setTimeout> | غير معرف؛
العودة (...الوسائط: T) => {
إذا عادت (المهلة) ؛
المهلة = setTimeout(() => {
رد الاتصال(...args);
المهلة = غير محددة؛
}، تأخير)؛
};
}
user
تقوم هذه الدالة بإرجاع دالة مجمعة حول رد الاتصال المقدم مما يمنع استدعائها أكثر من مرة في فترة معينة. أولاً، يعلن عن متغير المهلة الذي يمكن أن يكون مهلة أو غير محدد. تقوم بإرجاع رد اتصال يأخذ نفس الوسائط مثل رد الاتصال المقدم، ولكنه يخرج مبكرًا إذا كان لمتغير المهلة قيمة. إذا لم يحدث ذلك، فسيتم تعيينه على مهلة والتي ستقوم، بعد التأخير المقدم، باستدعاء رد الاتصال ثم إعادة تعيين متغير المهلة إلى غير محدد.
assistant