Ako funguje uzáver v JavaScripte? Vysvetlite na príklade premennej index a funkcie run vo vašom riešení.
Frontend
Vysvetlite, ako Promise.all čaká na dokončenie všetkých požiadaviek vo vašom riešení s rekurziou. Prečo aktuálna implementácia môže vrátiť neúplný výsledok?
Povedajte mi viac o projekte v Цифриум: za ktoré moduly boli zodpovední, ako bola funkcia usporiadaná — kde sa nachádzali endpoints, modely, obchodná logika, predplatné?
Použili ste FSD (Feature-Sliced Design) v projekte? Ako ste písali vzorky a odberné miesta udaljenosti v Effector pri použití FSD?
Ako chápete výber architektúry? Ako rozlišujete výhody a nevýhody medzi rôznymi prístupmi?
/** * Implementujte funkciu, ktorá vykoná spätné volanie s údajmi * a vráti pole odpovedí Response[]. * Riešenie by malo vykonať všetky požiadavky paralelne * ale nie viac ako [limit] požiadaviek môže byť vykonaných súčasne. * Cieľom je minimalizovať celkový čas vykonávania. */ 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[]> { // ZAČIATOK RIEŠENIA TU 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; // spracovanie chyby } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Ako funguje Array.from? Čo prijíma ako argumenty?
Optimalizácia zostavy: v čom spočívala? Aké ďalšie prístupy poznáte k optimalizácii veľkosti balíka?
Čo je to code splitting a ako funguje?
Povedzte mi o sebe a svojom pracovnou skúsenosťou