ES6-Promise()解决回调地狱

概述

Promise 是异步编程的一种解决方案,它是一个构造函数,Promise 有属于自己的 all、reject、resolve等私有方法,其原型上有 then、catch 等方法。

使用 Promise 可以解决 “回调地狱” 的问题。
在这里插入图片描述
Promise 对象表示尚未完成且在未来完成的事件(通常为一个异步操作)。

  • 异步:可以一起执行多个任务,函数调用后不会立即返回执行的结果,如果任务A需要等待,可先执行任务B,等到任务A结果返回后再继续回调。

Promise 可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数(回调地狱)。

Promise(callback) 是一个构造函数,接收一个参数,该参数是一个带有 resolve 和 reject 两个参数的回调函数(回调函数中的 resolve 与 reject 这两个参数也是函数)。

创建 Promise 对象实例的语法:

new Promise( function(resolve, reject) {…} )

参数:

  • resolve 操作成功调用的函数
  • reject 操作失败调用的函数

Promise 对象有三个状态

  • pending:初始化状态
  • fullfilled:操作成功的状态
  • rejected:造作失败的状态

在 Peomise 的回调函数中可执行一些操作(例如异步);如果一切都正常(操作成功)将 promise 的状态修改为 fullfilled,调用 resolve; 否则(操作失败)将 promise 的状态修改为 rejected,调用 reject。

在操作完成后 resolve 与 reject

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值