Ինչպես է աշխատում փակումը (closure) JavaScript-ում: բացատրեք ձեր լուծման մեջ փոփոխականի index և ֆունկցիայի run օրինակով։
Frontend
Ներկայացրեք, թե ինչպես է Promise.all սպասում բոլոր հարցումների կատարմանը ձեր ռեկուրսիվ լուծման մեջ: Ինչու է ներկայիս իրականացումը կարող է վերադարձնել ոչ լրիվ արդյունք?
Ասացեք ավելին Цифրիում նախագծի մասին՝ ինչ մոդուլների պատասխանատու էին, ինչպես էր կառուցված ֆունկցիան՝ որտեղ էին գտնվում endpoints-ները, մոդելները, բիզնես-լոգիկան, բաժանորդագրությունները?
Դուք օգտագործե՞լ եք FSD (Feature-Sliced Design) նախագիծում: Ինչպես եք գրել samples և գրանցումներ իրադարձությունների Effector-ում FSD օգտագործելիս?
Ինչպե՞ս եք հասկանում ճարտարապետության ընտրությունը: Ինչպե՞ս եք առանձնացնում տարբեր մոտեցումների առավելություններն ու թերությունները։
/** * Իրականացրեք ֆունկցիան, որը կկատարի callback տվյալների հետ * և կվերադարձնի Response[] պատասխանների զանգվածը: * Լուծումը պետք է գործարկի բոլոր հարցումները միաժամանակ * բայց ոչ ավելի քան [limit] հարցում կարող է կատարվել միաժամանակ: * Մտահոգությունը էական է՝ նվազեցնել ընդհանուր կատարման ժամանակը: */ 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[]> { // ՀԱՄԱՐՏԵՂԻՆ ՀԱՄԱՐՏԵՂԻՆ ԿԱՐԳԱՐԱՐՈՒԹՅՈՒՆԸ 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; // սխալի կառավարում } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Ինչպես է աշխատում Array.from-ը: Ի՞նչ է ընդունում որպես արգումենտներ։
Կառուցման օպտիմալացում՝ ինչ էր դա? Որ այլ մոտեցումներ եք գիտե՞ք բանդլի չափը օպտիմալացնելու համար։
Ինչ է code splitting-ը և ինչպես է այն աշխատում։
Իմացեք ինձ և իմ աշխատանքային փորձը