Zrozumienie blokowania w Node.js?

Zrozumienie Blokowania W Node Js



Kod blokujący lub kod synchroniczny to taki, który wstrzymuje lub zatrzymuje wykonywanie wszystkich nadchodzących lub niedostatecznie wykonanych procesów, dopóki aktualnie wykonywany proces nie zostanie skompilowany. Ten typ kodu jest najczęściej używany, gdy procesy do wykonania nie są od siebie zależne. Mówiąc najprościej, wynik pierwszej metody nie powinien być podawany jako wartość drugiej.

Ten przewodnik zawiera wyjaśnienie blokowania w Node.js.

Zrozumienie blokowania w Node.js?

Aby zrozumieć blokowanie w Node.js, metody blokowania dostarczane przez „ fs ” można wykorzystać zgodnie z wymaganiami projektu. W Node.js każda metoda zawierająca słowo kluczowe „ Synchronizuj ' tak jak ' czytajFileSync() „”, „ zmień nazwęSync() ”, i tak dalej, są uważane za metody synchroniczne lub blokujące.







Niektóre z przykładów metod blokowania w Node.js wyjaśniono poniżej:



Przykład 1: Zastosowanie metody blokowania „fs.renameSync()”.

fs.renameSync() ” metoda synchroniczna zmienia nazwę folderu ze starej nazwy lub ścieżki na nową nazwę lub ścieżkę. Jego zachowanie blokujące wstrzymuje wykonywanie wszystkich innych operacji do czasu, aż określone zadanie, tj. zmiana nazwy folderu, nie zostanie ukończone.



Składnia





Podstawowa składnia „ fs.renameSync() ” zapisano poniżej:

fs. zmień nazwęSync ( stara nazwa, nowa nazwa )

Powyższa składnia pokazuje, że „ fs.renameSync() ” wymaga jedynie ścieżki pliku, który wymaga modyfikacji, oraz zaktualizowanej ścieżki pliku, która zostanie ustawiona.



Spójrzmy na przykład, aby zrozumieć działanie blokowania „ zmień nazwęSync() ” w Node.js:

jest fs = wymagać ( „fs” ) ;

fs. zmień nazwęSync ( „usecase.txt” , „demoAs.json” ) ;

konsola. dziennik ( „Nazwa folderu została pomyślnie zmieniona” )

W powyższym fragmencie kodu:

  • Po pierwsze ' fs ” moduł jest importowany i zapisywany jako obiekt w nowej zmiennej o nazwie „ fs ”.
  • Następnie wywołaj opcję „ zmień nazwęSync() ” i przekaż starą i nową nazwę jako parametry.
  • Nie ma potrzeby korzystania z funkcji wywołania zwrotnego ze względu na kod typu synchronicznego.
  • Wyświetl także fikcyjny komunikat na konsoli, aby wizualnie zweryfikować blokowanie procesów.

Wygenerowane dane wyjściowe pokazują, że nazwa danego folderu została pomyślnie zmieniona za pomocą blokady „ zmień nazwęSync() ' metoda:

Przykład 2: Zastosowanie metody blokowania „mkdirSync()”.

mkdirSync() ” to wstępnie zdefiniowana metoda synchroniczna „ fs ” moduł tworzący folder/katalog w systemie plików.

Składnia

Uogólniona składnia „ mkdirSync() ” zapisano poniżej:

mkdirSync ( ścieżka, opcje )

mkdirSync() ” działa tylko na następujących dwóch parametrach:

  • ścieżka: Określa dokładną ścieżkę lub nazwę katalogu, który należy utworzyć.
  • opcje: Jest to opcjonalny parametr określający tworzenie folderu rekurencyjnie lub nie.

Spójrzmy na przykładowy kod blokujący „ mkdirSync() ' metoda:

konsola. dziennik ( „Metody blokowania” ) ;

jest fs = wymagać ( „fs” ) ;

fs. mkdirSync ( 'Przypadków użycia' ) ;

konsola. dziennik ( „Nazwa folderu została pomyślnie zmieniona” ) ;

W powyższym kodzie nazwa katalogu do konwersji jest przekazywana wewnątrz znaku „ mkdirSync() ' metoda. Metoda ta jest wywoływana przez „ fs ” obiektu modułu wraz z fałszywym komunikatem.

Wygenerowane dane wyjściowe pokazują, że „ mkdirSync() ” została wdrożona i blokuje nadchodzący proces do czasu zakończenia tej metody:

Przykład 3: Zastosowanie metody blokowania „rmdirSync()”.

rmdirSync() ” to metoda synchroniczna, która usuwa foldery z podanej określonej ścieżki. Jego synchroniczne zachowanie blokuje wykonanie wszystkich innych operacji do czasu, aż określone zadanie, czyli usunięcie folderu, nie zostanie ukończone.

Składnia

Uogólniona składnia „ fs.rmdirSync() ” zapisano poniżej:

fs. rmdirSync ( ścieżka, opcje )

Powyższa składnia pokazuje, że „ rmdirSync() ” działa tylko na „ ścieżka ” i „ opcje parametry.

Odwiedź poniższy fragment kodu, aby usunąć docelowy folder z projektu, a następnie po usunięciu sprawdź jego dostępność w projekcie:

konst fs = wymagać ( „fs” ) ;

fs. rmdirSync ( 'Przypadków użycia' )

konsola. dziennik ( „Folder został pomyślnie usunięty” ) ;

był folder = fs. istniejeSync ( 'Przypadków użycia' ) ;

konsola. dziennik ( „Folder istnieje:” , teczka ) ;

W powyższych liniach kodu:

  • Po pierwsze, „ rmdirSync() ” jest wywoływana poprzez importowaną metodę „ fs ” modułu, jako parametr przekazywana jest nazwa pliku, który ma zostać usunięty.
  • Następnie „ konsola.log() ” wyświetla komunikat weryfikacyjny.
  • Następnie „ istniejeSync() ” jest również wywoływana w celu wskazania, czy dany folder istnieje w bieżącym katalogu, czy też nie. Wynik lub wynik tej metody jest przechowywany w „ teczka ' zmienny.
  • Wreszcie „ konsola.log() ” wyświetla wartość metody „ teczka ” zmienna na konsoli.

Wygenerowane dane wyjściowe pokazują, że docelowy folder został usunięty poprzez zablokowanie „ rmdirSync() ' metoda:

To wszystko na temat blokowania w Node.js.

Wniosek

bloking ” kod wstrzymuje wykonywanie wszystkich procesów do czasu całkowitego wykonania bieżącego procesu. Jest szczególnie używany do zależnych metod lub funkcji, których dane wyjściowe zależą od wyników poprzednich funkcji. Kod blokujący jest również dobrym wyborem, gdy istnieje potrzeba wykonywania procesów sekwencyjnie. W tym przewodniku przedstawiono szczegółowe informacje na temat blokowania w Node.js.