JavaScriptのawait,asyncを使ってみる

September 15, 2022

async

async function キーワードは、式の中で async 関数を定義するために使用できます。

await

await 演算子はプロミス (Promise) を待つために使用します。通常の JavaScript コードで、 async function の内部でのみ使用することができます。

Promiseの結果が返ってくるまで待ちます。

使ってみる

resolve

async function myAsyncFunc() {
  console.log('start')
  const x = await new Promise((resolve) => {
    setTimeout(() => {
      // resolve の引数が割り当てられます
      // また、setTimeout の実行完了を待ちます
      console.log('inner x')
      resolve(100)
    }, 1000)
  })
  console.log('---')
  const y = await new Promise((resolve) => {
    setTimeout(() => {
      console.log('inner y')
      resolve(200)
    }, 1000)
  })
  console.log(x + y)
}
myAsyncFunc()

コンソール

start
inner x
---
inner y
300

reject

async function myAsyncFunc2() {
  console.log('start')
  try {
    await new Promise((resolve, reject) => {
      setTimeout(() => {
        // resolve の引数が割り当てられます
        // また、setTimeout の実行完了を待ちます
        console.log('inner x')
        reject('error!!!')
      }, 1000)
    })
    console.log('suucess!!!')
  } catch (e) {
    console.log('catch!!!', e)
  }
}
myAsyncFunc2()

コンソール

start
inner x
catch!!! error!!!

参考


SHARE

Profile picture

Written by tamesuu