promise的实例方法、静态方法

promise概述

介绍

promise是ES6的重要特性之一

传统的异步编程的解决方案是使用回调函数,但是这样就会导致嵌套过深,产生回调地狱,那么promise异步编程的另一种解决方案,而且会更加的强大。

三种状态
  • pending(待定)初始状态,既没有被兑现,也没有被拒绝
  • fulfilled(已兑现)意味着操作成功完成
  • rejected(已拒绝)意味着操作失败。
特点
  • 待定状态的 Promise 对象要么会通过一个值被兑现(fulfilled),要么会通过一个原因(错误)*被拒绝(rejected)*当这些情况之一发生时,我们用 promise 的 then 方法排列起来的相关处理程序就会被调用
  • Promise.prototype.thenPromise.prototype.catch 方法返回的是 promise, 所以它们可以被链式调用

promise的三个实例方法

then()方法
  • then是实例状态发生改变时的回调函数,第一个参数是resolved状态的回调函数,第二个参数是rejected状态的回调函数
  • then方法返回的是一个新的Promise实例,也就是promise能链式书写的原因
promise.then(result => {
   ···})
catch方法

当出现异常 则需要catch方法进行捕获

promise.then(result => {
   ···}).catch(error => {
   ···})
finally()方法

方法用于指定不管 Promise 对象最后状态如何,都会执行的操作

promise.then(result => {
   ···}).catch(error => {
   ···}).finally(() => {
   ···});

promise的静态方法

resolve方法

方法返回一个以给定值解析后的Promise 对象
定值有以下几种情况:

  • 如果这个值是一个 promise ,那么将返回这个 promise
  • 参数不是具有then()方法的对象,或根本就不是对象,Promise.resolve()会返回一个新的 Promise 对象,状态为resolve
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值