javascriptの約束
exp |
JavaScript
Michael Zippo
非同期コードはJavaScriptでの記述に問題がありました。コードに非同期操作を記述するには、複数レベルのコールバックを処理する必要があります。コードに導入する機能が多いほど、読みにくくなります。
SS6では、約束が救いの手を差し伸べています。 Promiseは、JavaScriptで非同期コードを効率的に作成する1つの方法です。
このガイドでは、Promiseとは何か、およびそれらがどのように機能するかについて説明します。コードでそれらを使用する方法を学ぶのに役立つことを約束する例を見ていきます。始めましょう!
プロミスとは何ですか?
プロミスは、将来受け取りたい応答を返すオブジェクトです。
AA良いJavaScriptの約束を考える方法は、人々が約束をする方法とそれらを比較することです。あなたが約束をするとき、それはあなたが後日何かをすることを保証します。あなたは今このことをしません。後でこれを行います
3つの状態のいずれかに約束が存在する可能性があります。
- 保留中:約束はされていません。まだ完了しています
- 拒否されました。約束は値を返す必要はありません
- 履行されました。約束は果たされました
これは実際の約束に似ています。あなたはあなたが将来も守るとあなたが言う例外的な約束を持つことができます。あなたは約束を守ることができます。約束を拒否または「破り、同意したことを守らない」ことができます。
約束をすると、保留になります。約束は、応答が受信されるまでこの状態で存在し、約束は履行または拒否されます
JavaScriptのpromiseを作成する方法
この関数を返すpromiseを作成することから始め、3秒後にユーザー名をプログラムに返します。ユーザー名..これは、promiseを使用して非同期コードを作成する方法を確認するのに役立ちます
Promiseオブジェクトを作成するために必要なpromiseを作成します。
p>
promiseは、promiseの成功を処理する関数と失敗したpromiseを処理する関数の2つの引数を受け入れます。これは、コミットメントが結果に応じて異なる値を返すことを意味します。
.. promiseには、promiseが正しく実行されたかどうかを判断する「if」ステートメントが含まれている必要があります。バランスが正しく行われなかった場合は、拒否されたステータスの約束を返す必要があります。
新しいJavaScriptファイルを開き、次のコードをコピーします。
このコードは、promiseを呼び出すと、 Cinnamon
という名前をメインプログラムに返します。このコードの実行には3秒または3000ミリ秒かかります。これは、約束を呼び出すと、3秒間保留になることを意味します。約束が解決された後、解決または拒否された約束はメインプログラムに返されます
「名前」の場合。 「シナモン」に等しい、私たちの約束は首尾よく解決されました;そうでなければ、私たちの約束は拒否されます。この例では、「name」は「Cinnamon」に設定されています。名前を指定したため、約束は減りました。
コードはまだ実行されていません。 promiseオブジェクトを呼び出す必要があります。
then()
キーワードを使用すると、promiseから応答を取得できます。彼は約束が解決された後に呼ばれます。この例では、 data
の内容をコンソールに出力します。これは、promise
コードは次を返します:.cinnamon
then()
は、成功の約束のみを処理します。約束が拒否された場合はどうなりますか?これは、 catch()
メソッドが機能している場所です
複数の<を配置できますcode> then() in the pledge .. chainingpromise。チェーンがどのように機能するかを説明する例を見てみましょう:
このコードは次を返します:
cinnamon
この関数は終了します。
次に、()ステートメントは指定された順序で実行されます。コンストラクターpromise。
catch()
が添付されています then()メソッドのような約束に。例の名前の拒否されたpromiseを処理するハンドラーを作成しましょう:
宣言の後にcatch()
宣言を追加してから()
しました。約束のタラアイスクリームの最後にピリオド-virgule(;)を使用していることに注意してください。 catch()
を使用している場合は、 then()
タグの後にセミコロンを指定しないでください。これは、JavaScriptの場合()とキャプチャ()が分離しているため、コードでエラーが返されます。
約束が拒否された場合、キャッチの内容()宣言が実行されます
coを実行するとどうなるか見てみましょうde:
cinnamon
cinnamon
の値は、Promiseが正常に解決されたために返されました。 「name」の値がpromiseで「Cinnamon」でない場合、エラーが返されます。
Not Detected(in promise)このpromiseにはありません
<。 p>エラーメッセージを指定しました:「この約束は失敗しました。"私たちのpromiseのrequire()関数で。 最後に()with promises
Promiseの実行後にコードのブロックを実行したい場合は、約束は成功または失敗しました
> last()
ステートメントが役立つのはここです>。 last()
ステートメントは、promiseが尊重されるか拒否されるかに関係なく実行されます。昨日、約束を呼び出して、最終的にステートメントを使用します。
コードが返されます:。
シナモン
promisereturnNameが実行されました
promiseステートメントシナモン
は成功したからです。次に、 finally()
ステートメントの内容が実行され、コンソールにメッセージが返されます。
結論
JavaScriptを使用すると、独自のコードを記述できます。非同期。
このガイドでは、Promiseの基本について説明しました。このガイドで取り上げた約束は他にもたくさんあります。学習の旅の次のステップは、コードにいくつかの約束を書くことです。
ここに課題があります。 Web要求を行い、その応答を返すPromiseを記述します。これを行うには、 fetch()APIを使用してリクエストを行う必要があります。このリクエストは、プロミスで囲む必要があります。成功した場合と失敗した場合の両方でpromiseを処理するコードを作成する必要があります。
さらに深く掘り下げたい場合は、JavaScriptを確認してください。非同期は機能します。これらは非同期コードの記述に使用でき、promiseで一般的に使用されます。
これで、エキスパートのようにJavaScriptのpromiseの記述を開始する準備が整いました。
p>>
Shop
Learn programming in R: courses
$
Best Python online courses for 2022
$
Best laptop for Fortnite
$
Best laptop for Excel
$
Best laptop for Solidworks
$
Best laptop for Roblox
$
Best computer for crypto mining
$
Best laptop for Sims 4
$
Latest questions
NUMPYNUMPY
psycopg2: insert multiple rows with one query
12 answers
NUMPYNUMPY
How to convert Nonetype to int or string?
12 answers
NUMPYNUMPY
How to specify multiple return types using type-hints
12 answers
NUMPYNUMPY
Javascript Error: IPython is not defined in JupyterLab
12 answers
Wiki
Python OpenCV | cv2.putText () method
numpy.arctan2 () in Python
Python | os.path.realpath () method
Python OpenCV | cv2.circle () method
Python OpenCV cv2.cvtColor () method
Python - Move item to the end of the list
time.perf_counter () function in Python
Check if one list is a subset of another in Python
Python os.path.join () method