Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptの非同期/待機関数


Promiseオブジェクトは、非同期操作の最終的な完了(または失敗)とその結果の値を表します。 Asyncawait関数と演算子はpromiseで動作します。

非同期/待機関数は、舞台裏で非同期タスクを実行しながら、完全に同期しているように見えるコードを作成するのに役立ちます。

たとえば、promise-

を返す非同期関数があるとします。
// Promise that resolves to 100 after 2sec
function getHundred() {
   return new Promise(resolve => {
      setTimeout(() => {
         resolve(100);
      },    2000);
   });
}

これを関数で使用したいのですが、戻り値を待つ必要があります。コールバックを使用して、次の方法でこれを行うことができます-

function useGetHundred() {
   getHundred().then((value) => {
      console.log(value);
   })
}

ただし、返されたデータに対して実行するコールバックを不必要に作成する必要があります。代わりに、async awaitを使用して、このコードを簡略化できます-

// Declare an async function. When this function is called, it'll also return a Promise
// But inside this function any async calls can be made synchronous using await keyword
async function useGetHundredAsync() {
   // wait for the getHundred promise to resolve then store its value in value.
   let value = await getHundred();
   console.log(value)
}

出力

100

  1. JavaScriptの簡潔な矢印関数

    簡潔な矢印関数の構文は次のとおりです- (param1, param2) =>param1+param2 のみがあり、単一のパラメータがある場合は、次のように記述することもできます- param1=>param1*2 の後に中括弧{}がない場合は、暗黙的に戻ります。 以下は、JavaScriptで簡潔な矢印関数を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta na

  2. JavaScriptのファーストクラス関数

    JavaScriptは関数をオブジェクトとして扱い、関数をパラメーターとして別の関数に渡したり、他の関数から関数を返したりすることもできます。 JavaScriptでは、関数はファーストクラスの関数です。つまり、変数、オブジェクト、配列に格納できます。高階関数は、関数を取得するか、関数を返すか、またはその両方を実行できます。 以下は、JavaScriptでファーストクラス関数を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT