JavaScript Promise 对象

这篇博客详细介绍了JavaScript中的Promise对象,包括Promise的定义、三种状态转换(Pending、Fulfilled、Rejected)、创建方法、then和catch方法的使用,以及resolve和reject方法的实践。还探讨了Promise在异步操作中的应用和thenable对象的概念。
摘要由CSDN通过智能技术生成


一、Promise是什么?

ECMAscript 6 原生提供了 Promise 对象。

Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息

二、Promise的三种状态

1.Pending(进行中)
2.Fulfilled(已成功)
3.rejected(已失败)

Promise对象的三种状态不受外界的影响,只有Promise中存放的将来会结束的时间才会影响。
Promise状态一旦改变,不可逆
Pending ==> Fulfilled
Pending ==> rejected

三、Promise对象创建

Promise是一个构造函数,在创建对象的时候需要传入一个回调函数
回调函数有2个参数,分别代表resolve(解决),reject(拒绝),并且都是函数
调用resolve函数,代表Promise的状态会从Pending --> fulfilled
调用reject函数,代表Promise的状态会从Pending --> rejected

代码如下(示例):

let promise = new Promise(function(resolve,reject){
	// 主要编写的是将来会结束的事件代码(异步请求)
	// 调用resolve函数
	reject("error");
	// resolve("ok");
})
	console.log(promise)

四、Promise中then和catch方法

1.then

如果promise状态为fulfilled,则调用then方法来处理对应的成功的逻辑

2.catch

如果promise状态为reject,则调用catch方法来处理对应的失败的逻辑

1)then和catch方法的参数也是一个函数,而且这个函数返回的都是一个新的Promise对象
2)then和catch在函数中可以return一个值,如果没有return 默认代表return undefined
3)如果return的是一个非Promise对象,那么会通过Promise.resolve()将返回的值转成一个状态为fulfilled的Promise对象
4)如果return的是一个Promise对象,则返回一个新的Promise对象,Promise对象的状态由返回的Promise对象状态来确定

代码如下(示例):

<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值