備忘録として
先日、promiseについて少し調べた機会があったのでちょっと記載してみる
事例
処理をしていて返ってきた値が
Promise(pending)
なんやねんこれ・・・・
こういう結果を返す処理をした覚えがない!!!!
対策の最適解
まずはpromiseがでたときの最適解から
async/awaitを利用する
コード async コード
await コードコードコードコードコードコード
コード
こんな感じにしたらちゃんとした処理を返してくれた!
Promiseってなんやねん
そもそもpromiseってなんなのでしょうか?
promiseができた経緯(ざっくりと)
1.ページを読み込みをする際に、そのページのデータ量が多いとすべてのデータを取ってくるまでそのページが開かないという事例が発生していた
2.1のままだとユーザーの使い勝手が悪いので、「まず表示できるところは表示するようにしよう」という考えから同期処理と非同期処理という概念が生まれる
3.同期処理と非同期処理を使い分けようとするとかなり複雑になる。その対処法としてpromiseができた。
4.promiseをつかえば同期処理と非同期処理がそれまでの複雑な処理が「promise(○○(pendingとか))」で表せるようになる。
5.でもpromiseをつかうとまだコード長くなる・・・。
6.async/awaitが生まれる。これがシンプル。
すごくざっくりと説明したにゃ。
コメント