Kuidas töötab sulgumine (closure) JavaScriptis? Selgitage näite abil muutuja index ja funktsiooni run näitel teie lahenduses.
Frontend
Selgitage, kuidas Promise.all ootab kõigi teie rekursiivse lahenduse päringute täitmist. Miks praegune rakendus võib tagastada mittetäieliku tulemuse?
Rääkige mulle rohkem Цифриум projekti kohta: millistele moodulitele nad vastutasid, kuidas funktsioon oli üles ehitatud — kus asusid endpoints, mudelid, äriloogika, tellimused?
Kas kasutate FSD-d (Feature-Sliced Design) projektis? Kuidas kirjutasite näidiseid ja sündmuste tellimusi Effectoris FSD kasutades?
Kuidas te mõistate arhitektuuri valikut? Kuidas te eristate erinevate lähenemisviiside plusse ja miinuseid?
Kuidas töötab Array.from? Mida see argumentidena võtab?
/** * Rakendage funktsioon, mis täidab tagasikutsumise koos andmetega * ja tagastab Response[] vastuste massiivi. * Lahendus peaks täitma kõik päringud paralleelselt * kuid mitte rohkem kui [limit] päringut saab samaaegselt täita. * Eesmärk on minimeerida kogu täitmise aega. */ 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[]> { // Lahenduse algus siia 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; // vea töötlemine } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Ehituse optimeerimine: milles see seisnes? Milliseid teisi lähenemisviise teate paketi suuruse optimeerimiseks?
Mis on code splitting ja kuidas see töötab?
Rääkige endast ja oma töökogemusest