Kā darbojas slēgums (closure) JavaScript? Izskaidrojiet ar piemēru mainīgajam index un funkcijai run jūsu risinājumā.
Frontend
Izskaidrojiet, kā Promise.all gaida, kamēr tiek izpildīti visi pieprasījumi jūsu rekursijas risinājumā. Kāpēc pašreizējā īstenošana var atgriezt nepilnu rezultātu?
Pastāstiet vairāk par projektu Цифриум: par kuriem moduļiem viņi bija atbildīgi, kā bija uzbūvēta funkcija — kur atradās endpoints, modeļi, biznesa loģika, abonēšanas?
Vai jūs izmantojāt FSD (Feature-Sliced Design) projektā? Kā jūs rakstījāt samples un subscriptions uz notikumiem Effector, izmantojot FSD?
Kā jūs saprotat arhitektūras izvēli? Kā izceļat dažādu pieeju plusus un mīnusus?
/** * Įgyvendinkite funkciją, kuri vykdys atgalinį kvietimą su duomenimis * ir grąžins Response[] atsakymų masyvą. * Sprendimas turėtų vykdyti visus užklausimus lygiagrečiai * bet ne daugiau kaip [limit] užklausimų gali būti vykdomi vienu metu. * Tikslas yra sumažinti bendrą vykdymo laiką. */ 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[]> { // Sprendimo pradžia čia 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; // klaidos valdymas } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Kā darbojas Array.from? Ko tas pieņem kā argumentus?
Kompilācijas optimizācija: ar ko tā sastāvēja? Kādas citas pieejas jūs zināt, lai optimizētu bundļa izmēru?
Kas ir code splitting un kā tas darbojas?
Pastāstiet par sevi un savu darba pieredzi