首頁  >  文章  >  web前端  >  如何使用Promise物件的then方法

如何使用Promise物件的then方法

王林
王林原創
2024-02-18 12:33:061191瀏覽

如何使用Promise物件的then方法

Promise的then方法是用來處理Promise物件的非同步操作的。在JS中,Promise是一種常用的處理非同步操作的方式,它提供了更為便捷和清晰的語法來處理非同步操作。

then方法的基本使用方式如下:

promise.then(onFulfilled, onRejected);

其中,onFulfilled是Promise成功時的回呼函數,在Promise物件的狀態變為Fulfilled(已完成)時被呼叫;onRejected是Promise失敗時的回呼函數,在Promise物件的狀態變成Rejected(已被拒絕)時被呼叫。

具體來說,當Promise物件的狀態為Fulfilled時,會呼叫onFulfilled函數並將Promise內部的值作為參數傳遞給它。而當Promise物件的狀態為Rejected時,會呼叫onRejected函數並將Promise內部的錯誤訊息作為參數傳遞給它。

下面是一個簡單的範例程式碼,展示了Promise的then方法的使用:

function fetchData() {
  return new Promise((resolve, reject) => {
    // 模拟异步请求
    setTimeout(() => {
      const data = 'Hello World!';
      resolve(data); // 成功时调用resolve,传递数据
      // reject('Error occurred'); // 失败时调用reject,传递错误信息
    }, 1000);
  });
}

fetchData()
  .then((data) => {
    console.log('成功:', data);
  })
  .catch((error) => {
    console.error('失败:', error);
  });

在上述範例中,我們定義了一個fetchData函數,它傳回一個Promise物件。在Promise建構函數中,我們模擬了一個非同步請求,1秒後傳回資料或錯誤。透過呼叫resolve或reject來改變Promise的狀態。

在主程式中,我們呼叫fetchData函數,並透過then方法註冊了成功時的回呼函數和catch方法註冊了失敗時的回呼函數。當fetchData函數內的非同步操作完成後,根據傳回的結果,會呼叫對應的回呼函數。

要注意的是,then方法回傳的是一個新的Promise物件。透過鍊式呼叫then方法,可以實現對多個非同步操作的依序處理。

總之,Promise的then方法是用來處理Promise物件的成功和失敗狀態的回呼函數。它提供了一種便捷的方式來處理非同步操作,並使得程式碼的可讀性更好。

以上是如何使用Promise物件的then方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn