●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

JavaScriptのasync / awaitとは?Promiseをもっと簡単に書く方法

asyncawait は、Promiseをより読みやすく・書きやすくするために導入された構文です。
複雑な非同期処理も、まるで同期処理のように書けるため、現在のJavaScript開発では広く使われています。

この記事では、async / await の基本的な使い方や注意点をわかりやすく解説します。

asyncとは?

async は「非同期関数」を定義するためのキーワードです。
async をつけた関数は、常にPromiseを返します。

async function sayHello() {
  return "こんにちは";
}

sayHello().then(function(result) {
  console.log(result); // "こんにちは"
});

このように、async 関数の戻り値は自動的にPromiseに変換されます。

awaitとは?

await は、Promiseの完了を「待つ」ためのキーワードです。
使えるのはasync 関数の中だけです。

function fetchData() {
  return new Promise(function(resolve) {
    setTimeout(function() {
      resolve("データ取得完了");
    }, 1000);
  });
}

async function load() {
  const result = await fetchData();
  console.log(result); // データ取得完了
}

load();

await は、Promiseの結果が返るまで処理を一時停止し、完了後に次の行へ進みます。

複数のawaitを使う

async function process() {
  const a = await Promise.resolve(1);
  const b = await Promise.resolve(2);
  console.log(a + b); // 3
}

process();

複数の非同期処理も、順序を意識しながら自然な形で記述できます。

try / catchでエラー処理

await を使うときのエラー処理には、try / catch を使うと便利です。

async function fetchData() {
  throw new Error("エラー発生");
}

async function load() {
  try {
    const data = await fetchData();
    console.log(data);
  } catch (error) {
    console.log("エラー:", error.message);
  }
}

load();

Promiseの .catch() と同じように、エラーを捕捉して処理できます。

forループとの併用

for 文との組み合わせで、順番に非同期処理を実行することも可能です。

const items = [1, 2, 3];

async function processAll() {
  for (let item of items) {
    const result = await Promise.resolve(item * 2);
    console.log(result);
  }
}

processAll();

まとめ

  • async を使うと関数がPromiseを返す
  • await はPromiseの結果を待つために使う
  • コードが直感的で読みやすくなる
  • エラー処理は try / catch で行う
  • async / awaitPromise をより簡潔に扱える構文

async / await を使いこなせば、複雑な非同期処理も整理され、保守性の高いコードが書けるようになります。
まずはシンプルな例から試して、書き方に慣れていきましょう。

 

JavaScript関連用語集

−−−−−  JavaScript  −−−−−

JavaScriptの変数とは?初心者にもわかりやすく解説

JavaScriptの定数(const)とは?使い方と注意点をわかりやすく解説

JavaScriptの関数とは?基本から使い方まで丁寧に解説

JavaScriptの配列とは?基本の使い方から応用まで解説

JavaScriptのオブジェクトとは?基本の使い方から応用まで解説

JavaScriptのプロパティとは?基本から使い方までわかりやすく解説

JavaScriptのメソッドとは?基本と使い方をわかりやすく解説

JavaScriptのスコープとは?基礎からしっかり理解しよう

JavaScriptのクロージャとは?仕組みと使い方をわかりやすく解説

JavaScriptのコールバック関数とは?仕組みと使い方をやさしく解説

JavaScriptの非同期処理とは?基本から使い方までわかりやすく解説

JavaScriptのPromiseとは?非同期処理をわかりやすく管理する方法

JavaScriptのasync / awaitとは?Promiseをもっと簡単に書く方法

JavaScriptのイベントとは?クリックや入力に反応する仕組みを解説

JavaScriptのイベントリスナーとは?イベント処理の基本を解説

JavaScriptのDOMとは?Webページを操作する基本をやさしく解説

JavaScriptのJSONとは?データのやりとりに使われる基本形式を解説

JavaScriptのデータ型とは?基本の種類と使い方をわかりやすく解説

JavaScriptの型変換とは?自動変換と明示的変換の仕組みを解説

JavaScriptのnullとは?「何もない」を明示する特別な値

JavaScriptのundefinedとは?「未定義」を表す特別な値を理解しよう

JavaScriptのNaNとは?数値にならないことを示す特別な値を解説

JavaScriptのループとは?繰り返し処理の基本と使い方を解説

JavaScriptのif文とは?条件に応じた処理の書き方を解説

JavaScriptのswitch文とは?複数の条件分岐をすっきり書く方法

JavaScriptのクラスとは?オブジェクト指向の基本構文を解説

JavaScriptの継承とは?クラスの機能を引き継ぐ仕組みを解説

JavaScriptのモジュールとは?ファイル分割と再利用を可能にする仕組みを解説

JavaScriptの即時関数(IIFE)とは?その仕組みと使いどころを解説

JavaScriptのグローバル汚染を防ぐ方法とは?安全なスクリプト管理の基本