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

promise怎麼用

小老鼠
發布: 2023-10-12 17:08:29
原創
1071 人瀏覽過

“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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板