1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

非同期処理?同期処理?よく分かっていなかった。

1
Last updated at Posted at 2025-09-13

プログラミングを学ぶ上で必ず出てくる概念が 同期処理非同期処理
今回はJavaScriptを用いながら解説していきたいと思います!

1. 同期処理とは?

同期処理は 1つの処理が終わってから次の処理が実行される方式 です。
イメージは「行列に並んで順番に処理していく」感じです。

JavaScript の例

console.log("A");
console.log("B");
console.log("C");

// 出力結果
// A
// B
// C

2. 非同期処理とは?

非同期処理は ある処理が終わるのを待たずに次の処理を進める方式 です。
イメージは「料理をオーブンに入れて待っている間に別の作業を進める」感じです。

console.log("A");

setTimeout(() => {
  console.log("B");
}, 1000);

console.log("C");

// 出力結果
// A
// C
// B

※処理が並行して進むため効率的ですが、結果がいつ返るか分からないため工夫が必要です。

3. JavaScript における非同期処理の書き方

JavaScript では Web ブラウザや Node.js の環境で、非同期処理が多く使われます。
代表的な書き方は以下の3つです。

3-1. コールバック関数

古くからある書き方です。
ただし入れ子が増えると「コールバック地獄」になりがちです。

setTimeout(() => {
  console.log("データ取得完了");
}, 1000);

// 出力結果(1秒後に表示)
// データ取得完了

3-2. Promise

非同期処理の結果を「成功(resolve)」または「失敗(reject)」で表現できるオブジェクトです。コールバック関数よりも構造が分かりやすいと感じています。

new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve("データ取得完了");
  }, 1000);
})
.then((result) => {
  console.log(result); // データ取得完了
})
.catch((error) => {
  console.error(error);
});

3-3. async / await

Promise をさらに扱いやすくした構文です。
同期処理のように書けるため、現在の主流となっています。

const fetchData = async () => {
  try {
    const result = await new Promise((resolve) =>
      setTimeout(() => resolve("データ取得完了"), 1000)
    );
    console.log(result); // データ取得完了
  } catch (error) {
    console.error(error);
  }
};

fetchData();

4. まとめ

• コールバック関数 → シンプルだがネストが深くなりやすい。
• Promise → 成功・失敗を明確に表現できる。
• async/await → 可読性が高く、現在の標準的な書き方。

おわりに

同期処理と非同期処理の違いを理解すると、コードの実行順序に迷わなくなり、API 通信やデータベース操作など実践的な開発がスムーズに進みます。

最初は難しく感じますが、Promiseasync/await を使いこなせば自然に書けるようになります。 ぜひ自分のコードで試しながら、理解を深めていってください!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?