mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2024-09-20 15:26:15 +08:00
refactor: debounce scroll event to avoid too many requests too quickly
This commit is contained in:
parent
eb995b775c
commit
6db23d6f6f
|
@ -10,6 +10,7 @@ import differenceInSeconds from "date-fns/differenceInSeconds";
|
|||
import { getHTMLById as getBadgeHTMLbyId } from "../controllers/badge-controller";
|
||||
import * as ConnectionState from "../states/connection";
|
||||
import * as Skeleton from "../popups/skeleton";
|
||||
import { debounce } from "throttle-debounce";
|
||||
|
||||
const wrapperId = "leaderboardsWrapper";
|
||||
|
||||
|
@ -718,10 +719,12 @@ $("#leaderboardsWrapper #leaderboards .leftTableWrapper").scroll((e) => {
|
|||
if (!leftScrollEnabled) return;
|
||||
const elem = $(e.currentTarget);
|
||||
if (Math.round(elem.scrollTop() as number) <= 50) {
|
||||
requestMore("15", true);
|
||||
debouncedRequestMore("15", true);
|
||||
}
|
||||
});
|
||||
|
||||
const debouncedRequestMore = debounce(500, requestMore);
|
||||
|
||||
$("#leaderboardsWrapper #leaderboards .leftTableWrapper").scroll((e) => {
|
||||
if (!leftScrollEnabled) return;
|
||||
const elem = $(e.currentTarget);
|
||||
|
@ -729,7 +732,7 @@ $("#leaderboardsWrapper #leaderboards .leftTableWrapper").scroll((e) => {
|
|||
Math.round(elem[0].scrollHeight - (elem.scrollTop() as number)) <=
|
||||
Math.round(elem.outerHeight() as number) + 50
|
||||
) {
|
||||
requestMore("15");
|
||||
debouncedRequestMore("15");
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -739,7 +742,7 @@ $("#leaderboardsWrapper #leaderboards .rightTableWrapper").scroll((e) => {
|
|||
if (!rightScrollEnabled) return;
|
||||
const elem = $(e.currentTarget);
|
||||
if (Math.round(elem.scrollTop() as number) <= 50) {
|
||||
requestMore("60", true);
|
||||
debouncedRequestMore("60", true);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -749,7 +752,7 @@ $("#leaderboardsWrapper #leaderboards .rightTableWrapper").scroll((e) => {
|
|||
Math.round(elem[0].scrollHeight - (elem.scrollTop() as number)) <=
|
||||
Math.round((elem.outerHeight() as number) + 50)
|
||||
) {
|
||||
requestMore("60");
|
||||
debouncedRequestMore("60");
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue