promise

本文介绍了Promise在ES6中的概念,包括Promise对象的结构、三种基本状态(pending、fulfilled、rejected)及其不可变性。通过示例展示了如何使用Promise的.then方法以及状态改变时的执行顺序。
摘要由CSDN通过智能技术生成

promise

# 概念
- promise A+ 规范:带有.then方法的对象或函数
- es6:promise是一个构造函数,由promise创建的实例满足promise A+ 规范

# 基础知识
- promise有三种状态:pending(进行中)、fulfilled(完成)、rejected(失败)
- promise的状态更改一旦确定,无法再次修改
- promise本身是同步的
const p = new Promise((resolve,reject)=>{
  console.log(1);
})

setTimeout(()=>{
  console.log(2);
})
// p的状态没有发生改变,then不执行
p.then(()=>{
  console.log(3);
})

console.log(4);
// 打印顺序 1、4、2,p的状态没有改变所以不执行.then方法
const p = new Promise((resolve,reject)=>{
  console.log("1");
  // 改变了p的状态,then会执行
  resolve()
})

setTimeout(()=>{
  console.log("2");
})

p.then(()=>{
  console.log(3);
})

console.log(4);
// 打印顺序:1、4、3、2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值