每當承諾得到解決時,就會調用 JavaScript Promise then() 方法。它從已解決的承諾中獲取數據。它最多可以接受兩個參數,分別是已完成和已拒絕案例的回調函數。就像 catch() 方法一樣,它也返回一個 Promise,因此它用於鏈接 Promise。
用法:
then(successFunc, rejectFunc)
參數:它通常最多需要兩個參數,第二個參數是可選的。這些參數從 Promise 接收數據
- successFunc: 當 Promise 被解析時,這個異步回調函數就會被執行
- rejectFunc: 當 Promise 被拒絕時執行此異步回調函數
返回值:此方法返回一個處於掛起狀態的 Promise,即使前一個 Promise 已完成也是如此。
示例 1:此示例使用 then 方法來處理 Promise 的解析狀態。
Javascript
let prom1 = new Promise((resolve, reject)=>{
resolve("Success");
})
.then(e=>{console.log("Hello Successful")})
輸出:
Hello Successful
示例 2:此示例使用 then 方法通過傳遞第二個參數來處理 Promise 的拒絕。
Javascript
let prom1 = new Promise((resolve, reject)=>{
reject("Rejected");
})
.then(e=>{console.log("Hello Successful")}, e=>{console.log(e)})
輸出:
Rejected
示例 3:此示例使用 then 方法來鏈接 Promise。
Javascript
let prom1 = new Promise((resolve, reject)=>{
resolve("Successful");
})
.then(e=>{
console.log(e)
return "Completed"
})
.then(e=>{console.log(e)})
輸出:第一個 then 返回由第二個 then 塊處理的 Promise
Successful Completed
支持的瀏覽器:
- Chrome
- Edge
- Firefox
- Opera
- Safari
我們有 Javascript Promise 方法的完整列表,要檢查這些方法,請閱讀 Javascript Promise Reference 文章
相關用法
- JavaScript Promise finally()用法及代碼示例
- JavaScript Promise catch()用法及代碼示例
- JavaScript Promise any()用法及代碼示例
- JavaScript Promise.race()用法及代碼示例
- JavaScript Proxy revocable()用法及代碼示例
- JavaScript Proxy()用法及代碼示例
- JavaScript Math cosh()用法及代碼示例
- JavaScript Math sinh()用法及代碼示例
- JavaScript Math sin()用法及代碼示例
- JavaScript Math cos()用法及代碼示例
- JavaScript Math tan()用法及代碼示例
- JavaScript Math abs()用法及代碼示例
- JavaScript Math pow()用法及代碼示例
- JavaScript Math asin()用法及代碼示例
- JavaScript Math acos()用法及代碼示例
- JavaScript Math atan()用法及代碼示例
- JavaScript Math ceil()用法及代碼示例
- JavaScript Math floor()用法及代碼示例
- JavaScript Math round()用法及代碼示例
- JavaScript Math trunc()用法及代碼示例
- JavaScript Math max()用法及代碼示例
- JavaScript Math min()用法及代碼示例
- JavaScript Math sqrt()用法及代碼示例
- JavaScript Math sign()用法及代碼示例
- JavaScript Math log()用法及代碼示例
注:本文由純淨天空篩選整理自shobhit_sharma大神的英文原創作品 JavaScript Promise then() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。