Sobes.tech

Frontend

Użytkownik szybko wpisuje tekst w polu wyszukiwania. Jaka jest różnica między `debounce`, `throttle` a `AbortController` z punktu widzenia UX i obciążenia sieci/serwera? Co jest lepsze do wyszukiwania na żywo?

118

Zaimplementuj funkcję `debounce`, która obsługuje natychmiastowe wywołanie na początku serii zdarzeń (`leading`), wywołanie końcowe na końcu serii domyślnie, oraz metodę `debounceFunc.cancel()` do anulowania zaplanowanego wywołania.

118

Wyobraź sobie kolejkę zadań makro z pięcioma wywołaniami `setTimeout`, a mikrozadania nieskończenie dodają nowe mikrozadania, na przykład przez rekurencyjne `Promise.resolve().then()`. Co się stanie z interfejsem i czy te pięć timeoutów kiedykolwiek się wykonają? Dlaczego?

116

Zaimplementuj uproszczoną funkcję `reactive(object)`, która naśladuje Vue 3: podczas odczytu właściwości wywołaj `track(target, key)`, a podczas zmiany właściwości wywołaj `trigger(target, key)`.

108