Dlaczego pojawiły się obietnice, jeśli asynchroniczność można było zorganizować za pomocą generatorów? Co było niewygodne w podejściu callback?
Frontend
Nad czym obecnie pracujesz?
W jakich przypadkach wykonanie fetch trafi do catch? Jak określić, czy żądanie zakończyło się sukcesem, czy nie, i skąd pochodzi status HTTP?
Co wiesz o kolejności łączenia i wykonywania skryptów: zwykły skrypt, async i defer?
Czym jest CORS i jakie są opcje rozwiązania problemów z żądaniami między domenami?
Jakie są sposoby obejścia subskrybentów przechowywanych w Set?
Typuj swoją funkcję transformacji tablicy w TypeScript: zdefiniuj potrzebne generyczne typy dla typu elementów źródłowej tablicy i typu wyniku.
Zaimplementuj funkcję memo(fn, lifetime), która zwraca nową funkcję i buforuje wynik oryginalnej funkcji bez argumentów na określony czas życia w milisekundach. Powinna buforować tylko ostatni wynik, bez kluczy i Map; powtórne wywołanie w ramach lifetime powinno zwrócić zbuforowany wynik.
Zaimplementuj klasę w TypeScript zgodnie z wzorcem 'Obserwator': przechowuje dane w obiekcie, umożliwia subskrypcję i odsubskrypcję przez subscribe/unsubscribe oraz powiadamia subskrybentów o zmianie danych przez przypisanie. Dodaj getter i setter; początkowa wartość powinna być pustym obiektem.
Opisz etapy renderowania strony w przeglądarce: DOM, CSSOM, drzewo renderowania, layout/reflow, repaint i compositing. Które właściwości są lepsze do animacji i dlaczego?
Zaimplementuj asynchroniczną kolejkę zadań z limitem równoczesności: zadania są najpierw dodawane do kolejki, następnie uruchamiane metodą loop; nie więcej niż określona liczba zadań powinna działać jednocześnie. Gdy wszystkie zadania w kolejce i te wykonywane zostaną zakończone, powiadom o zakończeniu kolejki.
Zaimplementuj funkcję, która wielokrotnie powtarza zapytania fetch w przypadku niepowodzenia. Co powinno się stać po wyczerpaniu prób?
Co się dzieje w przeglądarce po wpisaniu adresu URL?
Jak można zaimplementować kolejkę zadań za pomocą obietnic bez flag i liczników? Co to jest worker w kontekście takiej kolejki?