首頁 >常見問題 >promise怎麼用

promise怎麼用

小老鼠
小老鼠原創
2023-10-12 17:08:291072瀏覽

“promise” 是一種用於處理非同步操作的程式設計概念,它可以用來表示一個非同步操作的最終結果。 Promise 物件有三種狀態:pending(進行中)、fulfilled(已成功)和 rejected(已失敗)。 Promise的用法主要包括建構子、實例方法(then、catch、finally)和狀態轉換。

promise怎麼用

在程式中,「promise」 是一種用來處理非同步操作的程式設計概念,它可以用來表示一個非同步操作的最終結果。 Promise 物件有三種狀態:pending(進行中)、fulfilled(已成功)和 rejected(已失敗)。

Promise 的用法主要包括以下幾個面向:

  1. Promise 的建構子:可以使用 “new Promise” 關鍵字建立一個 Promise 物件。
const  promise  =  new  Promise((resolve,  reject)  =>  {   
   //  异步操作   });

建構子中,第一個參數是一個執行器函數,用來處理非同步操作。第二個參數是一個 resolve 函數,用於將 Promise 的狀態從 pending 變成 fulfilled。第三個參數是一個 reject 函數,用於將 Promise 的狀態從 pending 變成 rejected。

  1. Promise 的實例方法:Promise 物件有兩個常用的實例方法,分別是 “Promise.prototype.then” 和 “Promise.prototype.catch”。
  • then:用於處理 Promise 成功時的回呼函數。
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   });
  • catch:用於處理 Promise 失敗時的回呼函數。
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   });
  1. Promise 的 finally 方法:用於在 Promise 無論成功或失敗時都執行的回呼函數。
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   })   
   .finally(()  =>  {   
     //  无论成功或失败都会执行的回调   
   });
  1. Promise 的狀態轉換:Promise 物件的狀態只能從 pending 變成 fulfilled 或從 pending 變成 rejected,狀態一旦轉換,就無法再轉換。
promise   
   .then((value)  =>  {   
     //  异步操作成功时的回调   
   })   
   .catch((error)  =>  {   
     //  异步操作失败时的回调   
   });//  以下代码会报错,因为  promise  的状态已经从  pending  变为  fulfilled  或  rejected,不能再转换   promise.then((value)  =>  {   
   //  异步操作成功时的回调   });

總之,Promise 是一種用於處理非同步操作的程式設計概念,它可以用來表示一個非同步操作的最終結果。 Promise 物件有三種狀態:pending(進行中)、fulfilled(已成功)和 rejected(已失敗)。 Promise 的用法主要包括建構子、實例方法(then、catch、finally)和狀態轉換。

以上是promise怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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