Javascript Node.js React プログラミング 未分類

Node.js 同期処理と非同期処理【Node.js入門#2】

 

みやちゃ

 

皆さんこんにちは、みやちゃです!

物理とプログラミングについて解説しています!

こちらの記事で、Railsのアプリケーション開発からRspecのテスト、herokuにデプロイまで解説しています!

今回は、Node.js入門の第2弾です!

非同期処理について解説していきます。

今回は
  • 同期処理と非同期処理
この記事を読むと

同期処理と非同期処理について理解することができます!

非同期処理

非同期処理とは、実行中のタスクがあるときでも、他のタスクを実行することができる仕組みのことを言います。

例えば、ユーザーが1つのタスクを実行した時に、実行処理が完了するまで待つ必要がなく、他のタスクを実行しながら、実行処理が完了するのを待つことができるのです。

そのため、ユーザーにとってストレスがなく、使いやすい仕組みなのです。

Node.jsと非同期処理

Node.jsは、アプリケーションのパフォーマンスを優先し、非同期処理を標準APIとして提供しています。

そのため、ファイルの読み込みのような時間のかかる実行処理は、非同期処理で行うように設計されています。

またNode.jsは、大量のアクセスに強いことで有名です。

非同期処理によって、パフォーマンスを向上させ、高い性能を発揮しているのです。

同期処理と非同期処理

それでは実際にコードを書いて、同期処理と非同期処理を比較してみましょう。

プログラムの内容としては、以下のような内容の「miyacha.txt」というファイルを読み込み、データを出力するものです。

Node.js
同期処理
非同期処理

同期処理

まず、同期処理でファイルを読み込む場合のコードを見てみましょう。

以下のコードを見てください。

const fs = require('fs')
const data = fs.readFileSync('miyacha.txt', 'utf-8')
console.log(data)

1行目では、「fs」モジュールを読み込んでいます。

2行目でreadFileSync()関数を用いて、ファイルを読み込みます。

非同期処理

続いて非同期処理の場合も見てみましょう。

以下のコードを見てください。

const fs = require('fs')
fs.readFile('miyacha.txt', 'utf-8', readHandler)
function readHandler(err, data){
  console.log(data)
}

先ほどとほとんど同じ内容ですが、同期処理に比べて、少し長くなっています。

非同期処理では、ファイルの読み込みが終わった際に実行するfunctionを記述する必要があるためです。

2行目のreadFile()関数でファイルを読み込んでいますが、同時に、ファイルを読み込み終わった時に実行する関数「readHandler」も引数として渡しています。

そして3行目以降にreadHandlerの関数を定義しています。

まとめ

いかがでしたでしょうか?

今回は、Node.jsの同期処理と非同期処理について解説しました。

 

みやちゃ

 

ここまでご覧いただきありがとうございます!

こちら のUdemyの動画教材は、8時間で、

  • Dockerで仮想環境構築
  • Railsの基礎を解説しながら、アプリケーション開発
  • RSpecでテストを記述

まで解説しています。

Udemyの教材へ

Railsエンジニアとして働くために必要な、DockerとRSpecを同時に解説してくれています。

DockerとRSpecを使って作ったポートフォリオはかなり評価が高くなります。

ぜひ動画を見てみてはいかがでしょうか?

Udemyの教材へ

受講生は、5000人以上!です。

さらに、Udemyは、30日間の返金保証付きなので、いつでも返金できます。

たったの8時間でDocker、Rails、Rspecを学ぶ即戦力Railsエンジニア養成講座

© 2021 みやちゃのブログ Powered by AFFINGER5