Если бы мне пришлось угадывать из исходного кода
maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait
Похоже, минимум 0
, а максимум Number.MAX_SAFE_INTEGER, или 9007199254740991
Константа Number.MAX_SAFE_INTEGER
представляет максимальное безопасное целое число в JavaScript (2^53 - 1
).
Уведомление приведенное выше явно не исключает отрицательные значения maxWait
или wait
, но поскольку debounce
использует setTimeout
под капотом , все, что меньше 0, на самом деле не имеет никакого смысла, то есть его нельзя отбросить в прошлое. Однако обратите внимание, что setTimeout
сокращается до минимума один раз каждые 4 мс.
Причины задержек дольше, чем указано
Таким образом, более жесткое ограничение минимального и максимального значения может на самом деле быть [4, Number.MAX_SAFE_INTEGER]