Hiểu tính năng chặn trong Node.js?

Hieu Tinh Nang Chan Trong Node Js



Mã chặn hoặc mã đồng bộ là mã tạm dừng hoặc dừng việc thực thi tất cả các quy trình sắp tới hoặc chưa thực thi cho đến khi quy trình hiện đang thực thi được biên dịch. Loại mã này chủ yếu được sử dụng khi các tiến trình được thực thi không phụ thuộc vào nhau. Nói một cách đơn giản, đầu ra của phương thức đầu tiên không nên được cung cấp làm giá trị cho phương thức thứ hai.

Hướng dẫn này cung cấp giải thích về Chặn trong Node.js.

Hiểu tính năng chặn trong Node.js?

Để hiểu tính năng chặn trong Node.js, các phương thức chặn được cung cấp bởi “ fs ” module có thể được sử dụng theo yêu cầu của dự án. Trong Node.js, mọi phương thức chứa từ khóa “ Đồng bộ hóa ' giống ' readFileSync() ',' đổi tênSync() ”, v.v. được coi là phương pháp đồng bộ hoặc chặn.







Một số ví dụ về phương pháp chặn này trong Node.js được giải thích bên dưới:



Ví dụ 1: Sử dụng phương thức chặn “fs.renameSync()”

Các ' fs.renameSync() ” Phương thức đồng bộ đổi tên thư mục từ tên hoặc đường dẫn cũ sang tên hoặc đường dẫn mới. Hành vi chặn của nó sẽ tạm dừng việc thực thi tất cả các hoạt động khác cho đến khi tác vụ được chỉ định, tức là đổi tên thư mục chưa được hoàn thành.



Cú pháp





Cú pháp cơ bản của “ fs.renameSync() ” phương thức được viết dưới đây:

fs. đổi tênĐồng bộ hóa ( tên cũ, tên mới )

Cú pháp trên cho thấy rằng “ fs.renameSync() ” chỉ yêu cầu đường dẫn của tệp cần sửa đổi và đường dẫn tệp cập nhật sẽ được đặt.



Hãy lấy một ví dụ để hiểu hoạt động của việc chặn “ đổi tênSync() ” trong Node.js:

có fs = yêu cầu ( 'fs' ) ;

fs. đổi tênĐồng bộ hóa ( 'usecase.txt' , 'demoAs.json' ) ;

bảng điều khiển. nhật ký ( 'Thư mục được đổi tên thành công' )

Trong đoạn mã trên:

  • Đầu tiên ' fs ” mô-đun được nhập và lưu trữ dưới dạng đối tượng trong một biến mới có tên “ fs ”.
  • Sau đó, gọi “ đổi tênSync() ” và chuyển tên cũ và tên mới làm tham số.
  • Không cần sử dụng các hàm gọi lại vì mã loại đồng bộ.
  • Ngoài ra, hãy hiển thị một thông báo giả trên bảng điều khiển để xác minh việc chặn các tiến trình một cách trực quan.

Đầu ra được tạo cho thấy thư mục đã cho đã được đổi tên thành công với sự trợ giúp của tính năng chặn “ đổi tênSync() ' phương pháp:

Ví dụ 2: Sử dụng phương thức chặn “mkdirSync()”

Các ' mkdirSync() ” là phương thức đồng bộ được xác định trước của “ fs ” mô-đun tạo thư mục/thư mục trong hệ thống tệp.

Cú pháp

Cú pháp tổng quát của “ mkdirSync() ” phương thức được viết dưới đây:

mkdirSync ( đường dẫn, tùy chọn )

Các ' mkdirSync() ” chỉ hoạt động trên hai tham số sau:

  • con đường: Nó chỉ định đường dẫn hoặc tên chính xác của thư mục cần tạo.
  • tùy chọn: Đây là tham số tùy chọn xác định việc tạo thư mục theo cách đệ quy hay không.

Hãy có một ví dụ về mã chặn “ mkdirSync() ' phương pháp:

bảng điều khiển. nhật ký ( 'Phương pháp chặn' ) ;

có fs = yêu cầu ( 'fs' ) ;

fs. mkdirSync ( 'Trường hợp sử dụng' ) ;

bảng điều khiển. nhật ký ( 'Thư mục được đổi tên thành công' ) ;

Trong đoạn mã trên, tên thư mục cần chuyển đổi được chuyển vào bên trong “ mkdirSync() ' phương pháp. Phương thức này được gọi bởi “ fs ” đối tượng mô-đun cùng với thông báo giả.

Đầu ra được tạo ra cho thấy rằng “ mkdirSync() ” phương thức này đã được triển khai và nó đang chặn quá trình sắp tới cho đến khi phương thức này hoàn thành:

Ví dụ 3: Sử dụng phương thức chặn “rmdirSync()”

Các ' rmdirSync() ” là một phương thức đồng bộ xóa các thư mục khỏi đường dẫn đã chỉ định. Hành vi đồng bộ của nó chặn việc thực thi tất cả các hoạt động khác cho đến khi tác vụ được chỉ định của nó, tức là việc xóa thư mục chưa hoàn thành.

Cú pháp

Cú pháp tổng quát của “ fs.rmdirSync() ” phương thức được viết dưới đây:

fs. rmdirSync ( đường dẫn, tùy chọn )

Cú pháp trên cho thấy rằng “ rmdirSync() ” chỉ hoạt động trên “ con đường ' và ' tùy chọn ' thông số.

Truy cập đoạn mã bên dưới để xóa thư mục được nhắm mục tiêu khỏi dự án và sau khi xóa, hãy kiểm tra tính khả dụng của nó trong dự án:

hằng số fs = yêu cầu ( 'fs' ) ;

fs. rmdirSync ( 'Trường hợp sử dụng' )

bảng điều khiển. nhật ký ( 'Đã xóa thư mục thành công' ) ;

là thư mục = fs. tồn tạiĐồng bộ hóa ( 'Trường hợp sử dụng' ) ;

bảng điều khiển. nhật ký ( 'Thư mục tồn tại:' , thư mục ) ;

Trong các dòng mã trên:

  • Thứ nhất, “ rmdirSync() ” phương thức được gọi thông qua “ fs ” đối tượng mô-đun, tên của tệp cần xóa sẽ được truyền dưới dạng tham số.
  • Tiếp theo, “ console.log() Phương thức ” hiển thị thông báo xác minh.
  • Sau đó, “ tồn tạiSync() ” Phương thức này cũng được gọi để cho biết thư mục đã cho có tồn tại hay không trong thư mục hiện tại. Kết quả hoặc đầu ra của phương thức này được lưu trữ trong “ thư mục ' Biến đổi.
  • Cuối cùng, “ console.log() Phương thức ” hiển thị giá trị của “ thư mục ” biến trên bảng điều khiển.

Đầu ra được tạo cho thấy thư mục được nhắm mục tiêu đã bị xóa bằng cách chặn “ rmdirSync() ' phương pháp:

Đó là tất cả về tính năng chặn trong Node.js.

Phần kết luận

Các ' chặn ” mã tạm dừng việc thực thi tất cả các quy trình cho đến khi quy trình hiện tại được thực thi hoàn toàn. Nó được sử dụng đặc biệt cho các phương thức hoặc hàm phụ thuộc có đầu ra phụ thuộc vào kết quả của hàm trước đó. Mã chặn cũng là một lựa chọn tốt khi có nhu cầu thực hiện các tiến trình một cách tuần tự. Hướng dẫn này minh họa thông tin chi tiết về cách chặn trong Node.js.