KDOC 540: Promiseとasync/awaitの関係はなにか?

この文書のステータス

  • 作成
    • <署名>
  • レビュー
    • <署名>

概要

const promise = new Promise((resolve, reject) => {
  resolve(123);
})

promise.then((res) => {
  console.log(res)
})
promise.catch((err) => {
  console.log("これは呼び出されない")
})
123
const promise = new Promise((resolve, reject) => {
  reject(new Error("エラー..."))
})

promise.then((res) => {
  console.log("これは呼び出されない")
})
promise.catch((err) => {
  console.log(err, "\nあああ")
})
Error: エラー...
at /tmp/babel-wzGCCp/js-script-JNAXQI:2:12
at new Promise ()
at Object. (/tmp/babel-wzGCCp/js-script-JNAXQI:1:17)
at Module._compile (node:internal/modules/cjs/loader:1546:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
at Module.load (node:internal/modules/cjs/loader:1317:32)
at Module._load (node:internal/modules/cjs/loader:1127:12)
at TracingChannel.traceSync (node:diagnostics_channel:315:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
あああ
Promise.resolve(123)
.then((res) => {
  console.log(res) // 123
  return 456
})
.then((res) => {
  console.log(res) // 456
  return Promise.resolve(789)
})
.then((res) => {
  console.log(res) // 789
  return 123
})
123
456
789

関連

なし。