何がasync待っていますか?



開発者としての私たちのほとんどは、コーディング中に私たちの日常生活の中でこれらのキーワードを使用するので、私はそれを私自身の理解から簡単に与えることを考えた.このポストの終わりまでにこのポストが役に立つことを願っています.レッツゴー!😊

非同期とは?


現実世界からの基本的な例を理解しましょう.
私たちのほとんどは、Zamato、Swiggyなどを介してオンラインで食品を注文したか、市場でいくつかのアプリからオンラインショッピングを行った.
私たちはすべての食品を注文したと仮定して、チキンBiryani😁).
  • ステップ1.アプリから注文チキンBiryani.
  • ステップ2.すべての形式を完了します.
  • ステップ3.ああ、チキンBiryaniは到着します.😉
  • ステップ4.今だけでそれを食べる.(共有しない)😁
  • ここでは、食品の項目を注文すると、約束はあなたに、すなわち、食品が正常に注文されるか、または拒否される問題が返されます.asyncは、機能の前に置かれることができます.asyncを関数の前に置くと、単に関数が約束を返すことを意味します.解決された約束は、自動的にそれの中でラップされる値を持つことができます.
    async function greeting() {
      return 'hello';
    }
    
    greeting().then(alert); 
    //hello
    
    この関数は、hello

    なぜasync

    asyncを追加すると複雑なマルチスレッドを追加する必要はありません.
    async関数は、明確で簡潔な構文を書く自由を与えます.
    マルチスレッドよりも簡単なコード
  • デバッグは簡単です
  • のスケールを容易にする
  • コールバック地獄は、避けることができます

  • 約束が同じ仕事をすることができるとき、なぜasyncの必要が待ちますか?

    async/awaitは単に非同期コードに同期感を提供します.我々は、async約束のための構文的な砂糖として動作すると言うことができます.
    // Async/Await
    const asyncGreeting = async () => 'Hello';
    // Promises
    const promiseGreeting = () => new Promise(((resolve) => {
      resolve('Hi');
    }));
    asyncGreeting().then(result => console.log(result));
    promiseGreeting().then(result => console.log(result));
    
    簡単なクエリとデータ操作のために、約束は簡単ですが、複雑なデータ操作と関与しないシナリオに実行する場合は、コードが単に同期のように見えるかどうかを理解するのは簡単です.

    何が待っていますか。

    async/awaitのキーワードはawait関数の中でのみ使用されます.async非同期関数は停止/一時停止し、非同期関数が何を返したかを返します.
    async function greeting() {
    
      let promise = new Promise((resolve, reject) => {
        setTimeout(() => resolve("success!"), 1000)
      });
    
     let result = await promise; // wait until the promise resolves
    
     alert(result); // "success!"
    }
    
    greeting();
    
    awaitは、約束が解決するまで、文字通り機能実行を中断して、それから約束結果でそれを再開します.

    の同期の利点

  • は非ブロッキングAPIをブロックさせるようになります
  • クリーンで線形(分かりやすい)構文
  • をデバッグするのがより簡単な
  • メンテナンス可能なコード
  • それはthats!


    私は、ちょうどawaitの機能が何であるか少しのJistをあなたに与えようとしました.あなたはより詳細を学ぶためにdocsを参照することができます.
    私はあなたが役に立つと有益なこのポストを見つける願っています.コメントのセクションであなたのフィードバックを共有します.質問があれば、私に連絡してください.😀