2025-02-23-自己驗證 Promise 還沒處理完畢
2025-02-23-自己驗證 Promise 還沒處理完畢
「自己驗證 Promise 還沒處理完畢」而不依賴 Chrome DevTools 點開來看,可以用下列幾種方式:
✅ 方法 1:用 setTimeout
觀察 Promise 是否完成
1 | const promise = response.json() |
結果說明:
第一行會印出
Promise {<pending>}
。過一秒後,第二個
console.log
會印出:Promise {<fulfilled>: {…}}
(已完成)- 或
Promise {<rejected>: error}
(錯誤)
✅ 方法 2:用 .then()
來驗證
這是最直接、最可靠的做法:
1 | const promise = response.json() |
結果:
console.log
會先印出 Promise。- 然後當資料真的回來時(非同步完成),才會印出
data
。
✅ 方法 3:用 Promise.prototype.finally()
確認是否完成
1 | const promise = response.json() |
總結表格:
方法 | 驗證方式 |
---|---|
setTimeout |
比較「剛建立時」和「一段時間後」的 Promise 狀態 |
.then() |
只有 Promise 完成時才會執行 |
.finally() |
不管成功或錯誤都會執行,用來確認「處理完了」 |