Node.js のブロッキングについて理解していますか?

Node Js Noburokkingunitsuite Li Jieshiteimasuka



ブロッキング コードまたは同期コードは、現在実行中のプロセスがコンパイルされるまで、今後のすべてのプロセスまたは実行中のプロセスの実行を停止または停止するコードです。このタイプのコードは、実行されるプロセスが相互に依存していない場合に主に使用されます。簡単に言えば、最初のメソッドの出力を 2 番目のメソッドの値として供給すべきではありません。

このガイドでは、Node.js のブロックについて説明します。

Node.js のブロッキングについて理解していますか?

Node.js のブロックを理解するには、「」によって提供されるブロック メソッドを参照してください。 fs 」モジュールはプロジェクトの要件に応じて利用できます。 Node.js では、「」というキーワードを含むすべてのメソッドが 同期 ' のように ' readFileSync() '、' renameSync() 」などは、同期メソッドまたはブロックメソッドとみなされます。







Node.js でのこれらのブロック メソッドの例のいくつかを以下で説明します。



例 1: ブロッキング「fs.renameSync()」メソッドの使用

fs.renameSync() 」同期メソッドは、フォルダーの名前を古い名前またはパスから新しい名前またはパスに変更します。そのブロック動作により、指定されたタスク (フォルダー名の変更) が完了するまで、他のすべての操作の実行が停止されます。



構文





「」の基本的な構文 fs.renameSync() 」メソッドは以下のように書かれています。

fs. renameSync ( 古い名前、新しい名前 )

上記の構文は、「 fs.renameSync() 」に必要なのは、変更する必要があるファイルのパスと、設定される更新されたファイルのパスのみです。



「」をブロックする仕組みを理解するための例を見てみましょう。 renameSync() ” Node.js のメソッド:

fsがあります = 必要とする ( 「fs」 ) ;

fs. renameSync ( 「ユースケース.txt」 「デモAs.json」 ) ;

コンソール。 ログ ( 「フォルダーの名前が正常に変更されました」 )

上記のコード スニペットでは次のようになります。

  • まず、「 fs ” モジュールがインポートされ、” という名前の新しい変数にオブジェクトとして保存されます。 fs ”。
  • 次に、「」を呼び出します。 renameSync() ” メソッドを使用し、古い名前と新しい名前をパラメータとして渡します。
  • 同期タイプのコードのため、コールバック関数を利用する必要はありません。
  • また、コンソールにダミーのメッセージを表示して、プロセスのブロックを視覚的に確認します。

生成された出力は、指定されたフォルダーの名前がブロック「」の助けを借りて正常に変更されたことを示しています。 renameSync() ' 方法:

例 2: ブロッキング「mkdirSync()」メソッドの使用

mkdirSync() 」は、「」の事前定義された同期メソッドです。 fs ファイルシステムにフォルダー/ディレクトリを作成するモジュール。

構文

「」の一般化された構文 mkdirSync() 」メソッドは以下のように書かれています。

mkdirSync ( パス、オプション )

mkdirSync() 」は、次の 2 つのパラメータでのみ機能します。

  • パス: 作成する必要があるディレクトリの正確なパスまたは名前を指定します。
  • オプション: これは、フォルダーを再帰的に作成するかどうかを定義するオプションのパラメーターです。

「」をブロックするコード例を見てみましょう。 mkdirSync() ' 方法:

コンソール。 ログ ( 「ブロック方法」 ) ;

fsがあります = 必要とする ( 「fs」 ) ;

fs. mkdirSync ( 「ユースケース」 ) ;

コンソール。 ログ ( 「フォルダーの名前が正常に変更されました」 ) ;

上記コードでは、変換対象のディレクトリ名を「」内に渡しています。 mkdirSync() ' 方法。このメソッドは「」によって呼び出されます。 fs 」モジュールオブジェクトとダミーメッセージ。

生成された出力には、「 mkdirSync() 」メソッドが実装されており、このメソッドが完了するまで次のプロセスがブロックされています。

例 3: ブロッキング「rmdirSync()」メソッドの使用

rmdirSync() 」は、指定された指定されたパスからフォルダーを削除する同期メソッドです。その同期動作により、指定されたタスク (フォルダーの削除) が完了するまで、他のすべての操作の実行がブロックされます。

構文

「」の一般化された構文 fs.rmdirSync() 」メソッドは以下のように書かれています。

fs. rmdirSync ( パス、オプション )

上記の構文は、「 rmdirSync() 「」は「」でのみ機能します。 パス ' そしてその ' オプション ' パラメーター。

以下のコード スニペットにアクセスして、対象のフォルダーをプロジェクトから削除し、削除後にプロジェクト内でそのフォルダーが利用可能かどうかを確認します。

定数 fs = 必要とする ( 「fs」 ) ;

fs. rmdirSync ( 「ユースケース」 )

コンソール。 ログ ( 「フォルダは正常に削除されました」 ) ;

フォルダでした = fs. 存在します同期 ( 「ユースケース」 ) ;

コンソール。 ログ ( 「フォルダーが存在します:」 、フォルダー ) ;

上記のコード行では次のようになります。

  • まず、「 rmdirSync() ” メソッドはインポートされた” 経由で呼び出されます。 fs ”モジュールオブジェクトには、削除する必要があるファイルの名前がパラメータとして渡されます。
  • 次に、「 console.log() 」メソッドを実行すると、確認メッセージが表示されます。
  • その後、「 存在する同期() 」メソッドも呼び出され、指定されたフォルダーが現在のディレクトリに存在するかどうかを示します。このメソッドの結果または出力は、「 フォルダ ' 変数。
  • 最後に、「 console.log() ”メソッドは、”の値を表示します。 フォルダ ” コンソール上の変数。

生成された出力には、対象のフォルダーがブロックによって削除されたことが示されています。 rmdirSync() ' 方法:

Node.js でのブロックについては以上です。

結論

ブロッキング 」コードは、現在のプロセスが完全に実行されるまで、すべてのプロセスの実行を停止します。これは、出力が前の関数の結果に依存する依存メソッドまたは関数に特に使用されます。プロセスを順番に実行する必要がある場合にも、ブロッキング コードは良い選択です。このガイドでは、Node.js でのブロックに関する詳細な情報を説明しました。