Miks ilmusid lubadused, kui asünkroonsust sai korraldada generatorite abil? Mis callback-lähenduses oli ebamugav?
Frontend
Mida te praegu teete?
Millistel juhtudel läheb fetch-i täitmine catch-i? Kuidas määrata, kas päring oli edukas või mitte, ja kust tuleb HTTP staatus?
Mida teate skriptide ühendamise ja täitmise järjekorrast: tavaline skript, async ja defer?
Mis on CORS ja millised on võimalused rist-domeeni päringute probleemide lahendamiseks?
Kuidas saab mööda minna Set-i salvestatud tellijatest?
Tüübi oma massiivi teisendamise funktsioon TypeScriptis: määra vajalikud üldtüübid lähtemassivi elementide tüübile ja tulemuse tüübile.
Rakendage funktsioon memo(fn, lifetime), mis tagastab uue funktsiooni ja salvestab algse funktsiooni tulemuse ilma argumentideta määratud eluea jooksul millisekundites. See peaks salvestama ainult viimase tulemuse, ilma võtmete ja Map-ta; korduv kõne eluea jooksul peaks tagastama salvestatud tulemuse.
Rakendage klass TypeScriptis vastavalt 'Observer' mustrile: see salvestab andmeid objektis, võimaldab tellida ja tühistada tellimusi subscribe/unsubscribe kaudu ning teavitab tellijaid andmete muutusest määramise kaudu. Lisage getter ja setter; algväärtus peaks olema tühi objekt.
Kirjeldage lehekülje renderdamise etappe brauseris: DOM, CSSOM, renderipuu, layout/reflow, repaint ja compositing. Milliseid omadusi on parem animatsiooniks valida ja miks?
Rakendage asünkroonset ülesannete järjekorda koos paralleelsuse piiranguga: ülesanded lisatakse esmalt järjekorda, seejärel käivitatakse loop meetodi abil; samaaegselt ei tohi täita rohkem kui määratud arv ülesandeid. Kui kõik järjekorra ja jooksvad ülesanded on lõpetatud, teavitage järjekorra lõpetamisest.
Rakendage funktsioon, mis kordab fetch-päringuid mitu korda ebaõnnestumise korral. Mis peaks juhtuma pärast katsete lõppemist?
Mida juhtub brauseris pärast URL-i sisestamist?
Kuidas saab promisesid kasutades ülesannete järjekorda ilma lippude ja loenduriteta rakendada? Mis on worker sellise järjekorra kontekstis?