Promiseを使った非同期処理

const promise = new Promise((resolve, reject) => {
  const rst = Math.random();
  console.log(rst);
  if (rst > 0.5) {
    resolve("SUCCESS");
  } else {
    reject("FAIL");
  }
})
  .then((value) => {
    console.log(`Thenメソッド実行 ${value}`);
  })
  .catch((value) => {
    console.log(`Catchメソッド実行 ${value}`);
  });

resolve()メソッド:
Promiseで成功時の処理を記述する

then()メソッド:
resolve()メソッドが実行された後に続けて実行される
resolve()メソッドに設定した引数がthen()メソッドの中で使用できる

reject()メソッド:
Promiseで失敗時の処理を記述する

catch()メソッド:
reject()メソッドが実行された後に続けて実行される
reject()メソッドに設定した引数がcatch()メソッドの中で使用できる

delayPromise(3).then(console.log);

function delayPromise(sec) {
  return new Promise((resolve) =>
    setTimeout(() => resolve("TIME WAS LEFT"), sec * 1000)
  );
}
const promise = new Promise((resolve, reject) => {
  setTimeout(() => { 
    console.log('HELLO');
    resolve();
  }, 1000);
});

promise.then(() => console.log('WORLD!'));