Hoe werkt een closure in JavaScript? Leg uit met een voorbeeld van de variabele index en de functie run in jouw oplossing.
Frontend
Leg uit hoe Promise.all wacht op de voltooiing van alle verzoeken in uw recursieve oplossing. Waarom kan de huidige implementatie een onvolledig resultaat teruggeven?
Vertel me meer over het project in Цифриум: waarvoor waren ze verantwoordelijk, hoe was de functie opgebouwd — waar waren endpoints, modellen, bedrijfslogica, abonnementen?
Heb je FSD (Feature-Sliced Design) gebruikt in een project? Hoe schreef je samples en abonnementen op gebeurtenissen in Effector bij gebruik van FSD?
Hoe begrijp je de keuze van de architectuur? Hoe onderscheid je de voor- en nadelen tussen verschillende benaderingen?
/** * Implementeer de functie die een callback uitvoert met de gegevens * en een array van responses Response[] retourneert. * De oplossing moet alle verzoeken parallel uitvoeren * maar niet meer dan [limit] verzoeken gelijktijdig. * Het doel is om de totale uitvoeringstijd te minimaliseren. */ type Props<RequestData, Response> = { callback: (args: RequestData) => Promise<Response>; data: Array<RequestData>; limit: number; }; export async function runWithLimit<RequestData, Response>({ callback, data, limit, }: Props<RequestData, Response>): Promise<Response[]> { // BEGIN VAN DE OPLOSSING if (limit < 1 || data.length === 0) { return Promise.resolve([]); } if (limit >= data.length) { return Promise.all(data.map(callback)); } const result: Response[] = new Array(data.length); let index = 0; const run = async () => { if (index >= data.length) return; const elem = data[index]; try { result[index] = await callback(elem); } catch (err) { result[index] = (err) as Response; // foutafhandeling nodig } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Hoe werkt Array.from? Wat accepteert het als argumenten?
Build-optimalisatie: waar bestond deze uit? Welke andere benaderingen kent u voor het optimaliseren van de bundelgrootte?
Wat is code splitting en hoe werkt het?
Vertel eens over jezelf en je werkervaring