每当承诺得到解决时,就会调用 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。