JavaScriptで約束する
3662 ワード
約束は非同期操作の状態を表します.この非同期操作は、APIからデータを取得したり、ファイルからコンテンツを読み込むときなどです.
約束の前にコールバックがありましたが、彼らはより少ない能力を持ち、ずば抜けたコードにつながりました.複数のコールバックを扱うとき、我々のコードは管理するのが難しくなるコールバック地獄になります.
JavaScriptの約束は4つの州から成ります.
満たされる:操作は正常に完了しました. 保留中の :操作は完了しません、それはまだ進行中です. は拒否された. 解決される:操作は、満たされるか、拒絶されます. を使用して約束を作成することができます
この場合、
チェイン・プロミス
約束の結果が別の約束であるとき、我々は結果を得るためにそれらをチェインしなければなりません.
それは今のところです.最後まで作ってくれてありがとう.私はこの記事を持っているすべてのフィードバックや提案をお知らせください.また、あなたが私に
約束の前にコールバックがありましたが、彼らはより少ない能力を持ち、ずば抜けたコードにつながりました.複数のコールバックを扱うとき、我々のコードは管理するのが難しくなるコールバック地獄になります.
JavaScriptの約束は4つの州から成ります.
満たされる
Promise
コンストラクター.const isNumEven = (num) => new Promise((resolve, reject)=> {
if(num % 2 === 0) {
resolve(true)
} else {
reject(false)
}
})
さて、上記の作成された約束はisNumEven(5)
.then(res => console.log(res))
.catch(err => console.log(err))
約束が拒絶されるとき、then
ハンドラーが起動される間、約束が満たされるとき、catch
ハンドラーは起動されます.この場合、
catch
ハンドラーは、関数に渡された数が偶数でなくても呼び出されます.チェイン・プロミス
約束の結果が別の約束であるとき、我々は結果を得るためにそれらをチェインしなければなりません.
isNumPrime(5)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.log(err))
非同期操作を扱うこのメソッドは、2〜3つの約束をしているときに、とてもよく見えます.その後、async await
は写真に入ります.彼らはあなたが非常に簡単に複数の約束を処理するのに役立ちます.それは今のところです.最後まで作ってくれてありがとう.私はこの記事を持っているすべてのフィードバックや提案をお知らせください.また、あなたが私に
async await
で書くことを望むならば、知らせてください.Reference
この問題について(JavaScriptで約束する), 我々は、より多くの情報をここで見つけました https://dev.to/deepansh946/promises-in-javascript-1nbpテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol