JavaScript の約束

王林
王林オリジナル
2024-07-18 10:37:15963ブラウズ

Image description

JavaScript Promise は、非同期操作を管理する便利な方法の 1 つです。約束は、将来実現されるか失敗する可能性がある値を表します。これらは、非同期操作の結果を管理し、コールバック関数の問題を軽減するために使用されます。

約束のテーブル

Image description

約束

を作成します

Promise コンストラクターは、JavaScript で Promise を作成するために使用されます。

let myPromise = new Promise((resolve, reject) => {
    let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (success) {
        resolve("Bu operatsiya muvaffaqiyatli tugadi!");
    } else {
        reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
    }
});

  • 解決
  • 拒否する

resolve 関数とreject 関数は、JavaScript Promise の非同期操作の結果を制御するために使用されます。

解決

resolve 関数は、Promise が正常に実行されると呼び出されます。この関数は引数として値を受け取り、この値は .then() メソッドに渡されます。

let Promise = new Promise((resolve, reject) => {
    let success = true; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (success) {
        resolve("Bu operatsiya muvaffaqiyatli tugadi!");
    }
});

上記の例では、success 変数が true の場合、resolve 関数が呼び出され、「この操作は正常に完了しました!」と表示されます。値を送信します。

then メソッドを使用して結果を cansole.log に出力します:

Promise.then((result) => {
    console.log(result); // "Bu operatsiya muvaffaqiyatli tugadi!" ni cansole.log da chiqaradi
});

拒否

reject 関数は、Promise が失敗したときに呼び出されます。この関数は引数としてエラーまたは失敗に関する情報を受け取り、この値は .catch() メソッドに渡されます。

let mPromise = new Promise((resolve, reject) => {
    let success = false; // Bu yerda sizning asinxron operatsiyangiz bo'lishi mumkin

    if (!success) {
        reject("Bu operatsiya muvaffaqiyatsiz tugadi.");
    }
});

上記の例では、success 変数が false の場合、reject 関数が呼び出され、「この操作は失敗しました」と表示されます。値を送信します。

mPromise
    .then((result) => {
        console.log(result); // Bu yerga kirmaydi keyingi blockga o'tadi
    })
    .catch((error) => {
        console.error(error); // "Bu operatsiya muvaffaqiyatsiz tugadi." ni cansole.logda chop  etadi
    });

Image description

以上がJavaScript の約束の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。