javascript 承諾
exp |
JavaScript
Michael Zippo
異步代碼是用 JavaScript 編寫的一個問題。要在代碼中編寫 異步操作,您必須處理多個級別的回調。您在代碼中引入的功能越多,閱讀起來就越困難。
在 SS6 中,promise 已經派上用場了。 Promise 是在 JavaScript 中高效編寫異步代碼的一種方法。
在本指南中,我們將討論什麼是 Promise 以及它們是如何工作的。我們將看到一個有望幫助您了解如何在代碼中使用它們的示例。讓我們開始吧!
什麼是promise?
promise 是一個對象,它返回您希望在未來收到的響應。
AA 好思考 JavaScript 承諾的方法是將它們與人們做出承諾的方式進行比較。當你做出承諾時,就是保證你以後會做某事。你現在不會做這件事;您將在以後執行此操作
promise 可以存在於三種狀態中的任何一種。
- Pending:promise 尚未存在。仍然完成
- 被拒絕。承諾不必返回值
- 已實現。一個承諾已經實現
這類似於現實生活中的承諾。你可以有一個特殊的承諾,你說它會在未來保持。你可以信守承諾。您可以拒絕或“破壞”承諾,並且不遵守您同意做的事情。
當您做出承諾時,它將處於未決狀態。該承諾將保持此狀態,直到收到響應並且承諾被履行或被拒絕
如果我們的promise被拒絕了,catch的內容() 聲明將被執行
讓我們看看當我們運行我們的co時會發生什麼de:
cinnamon
cinnamon
值返回,因為我們的承諾已成功解決。如果我們的 Promise 中 "name" 的值不是 "Cinnamon",則會返回錯誤:
Not Detected (in promise) This Promise does not have
<。 p> 我們指定了錯誤消息:“此承諾失敗。" 在我們的 Promise 中的 require() 函數中。
finally() with Promise
如果你想在一個 Promise 執行完之後再執行一段代碼,不管是否承諾成功或失敗
>
是 last ()
語句派上用場的地方>。 last ()
語句會被執行,無論 promise 是被兌現還是被拒絕。讓 last day 調用我們的 promise finally 使用語句:
我們的代碼返回:.
Cinnamon
promise returnName 已經執行
我們的promise 語句 cinnamon
因為它成功了。然後執行 finally ()
語句的內容,它會向我們的控制台返回一條消息。
結論
承諾 JavaScript 允許您編寫自己的代碼異步。
在本指南中,我們介紹了 Promise 的基礎知識。我們在本指南中涵蓋了更多的承諾。學習之旅的下一步是在代碼中編寫一些 Promise。
這是一個挑戰:。編寫一個發出 Web 請求並返回其響應的 Promise。為此,您需要使用 fetch () API 來發出請求。這個請求必須包含在一個 Promise 中。您需要編寫代碼來處理成功和失敗的承諾。
如果您想深入了解,請查看 JavaScript async 有效。 這些可用於編寫異步代碼,通常與 Promise 一起使用。
您現在可以像專家一樣開始編寫 JavaScript Promise!
p>