KDOC 540: Promiseで遊ぶ
この文書のステータス
- 作成
- 2026-03-17 貴島
- レビュー
- 2026-03-17 貴島
概要
Promise - JavaScript | MDNが秀逸だったのでメモする。
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
関連
抽象。
- 結果が成功か失敗かで呼ばれる後続の処理が分かれ、返した値は次の後続の処理に順に渡る
関連。
- 類推: このように概念をミニマルに試せると理解しやすい。ほかにないか
- 類似: KDOC 77: 検証する方法があると理解が進む。細かく試す手段を持つと理解が進むという考え