サイコロを振って、半か丁かを表示する方法を JavaScript でやってみます。

今回は、Promise、resolve、reject を使ってみます。

まずは、Promiseで、rollTheDice 関数を作ります。

引数は、resolverejectにします。

const rollTheDice = new Promise(function (resolve, reject) {})

サイコロの出た目をMath.randomparseIntを使って、書きます。

const rollTheDice = new Promise(function (resolve, reject) {
  const dice = parseInt(Math.random() * 6) + 1
  console.log(dice)
})

確認すると、

image2

3 の目が出ました。

次に、半の場合は成功とみなし resolve、丁の場合は失敗とみなし reject とします。

const rollTheDice = new Promise(function (resolve, reject) {
  const dice = parseInt(Math.random() * 6) + 1
  console.log(dice)
  if (dice % 2 === 1) {
    resolve("半")
  } else {
    reject("丁")
  }
})

rolltheDice 関数を呼び出します。

rollTheDice.then(res => console.log(res)).catch(err => console.log(err))

確認すると、

image3

image4

4 の時は丁、1 の時は半が出力されました。

ブログ一覧