ES6 Promise の紹介

ES6 Promise は、非同期操作を処理するために ECMAScript 2015 (略して ES6) で導入されたプログラミング モードです。Promise は、非同期プログラミングを簡素化し、コードをより保守しやすくします。Promise オブジェクトは、まだ完了していないが、将来完了すると予想される操作を表し、この操作の状態を追跡できます。

Promise には 3 つの状態があります。

  1. 保留中: 初期状態で、成功でも失敗でもありません。
  2. 完了: 操作が正常に完了したことを示します。
  3. 失敗 (拒否): 操作が失敗したか、エラーが発生したことを示します。

Promise のプロトタイプはthencatchそれぞれ成功状態と失敗状態のコールバック関数を処理するメソッドを提供します。

Promise の基本的な使用例を次に示します。

// 创建一个 Promise
const promise = new Promise((resolve, reject) => {
  // 执行异步操作(例如:发起 Ajax 请求、读取文件等)
  setTimeout(() => {
    // 成功时执行 resolve 回调
    resolve('操作成功');
    // 发生错误时执行 reject 回调
    // reject('操作失败');
  }, 1000);
});

// 使用 then 方法处理成功状态
promise.then((result) => {
  console.log(result); // 输出 "操作成功"
});

// 使用 catch 方法处理失败状态
promise.catch((error) => {
  console.error(error); // 输出 "操作失败"
});

Promise は、Promise.allPromise.race

  1. Promise.all: 複数の Promise を含む配列を受け取り、すべての Promise が満たされると新しい Promise を返し、その解決コールバックは成功した Promise ごとに解決コールバック パラメータの配列を受け取ります; 1 つまたは複数の Promises が失敗した (拒否された) 場合、新しいPromise は失敗状態になり、最初に失敗した Promise の reject コールバック パラメータが新しい Promise の reject コールバックに渡されます。

  2. Promise.race: 複数の Promise を含む配列を受け取り、新しい Promise を返します. この新しい Promise は、最初の入力 Promise が完了すると (成功または失敗に関係なく)、対応する状態に入り、その解決または拒否のコールバック パラメータはコールバック パラメータと同じです最初に満たされた Promise の値は同じです。

オープンソース プロジェクトのアドレス:

https://github.com/xutongbao/learn-chatgpt

おすすめ

転載: blog.csdn.net/xutongbao/article/details/130403968