promise 详解笔记(一)——方法简介

一.Promise是什么?

 输出Promise,看看它是什么

console.dir(Promise)

 

由此可见:

1、Promise是一个构造函数,和数组类似

2、有all、finally,race, reject, resolve, virtual这几个方法,其中all,reject, resolve,较常见

3、原型上有catch,constructor,finally,then方法,也就是用Promise new出来的对象肯定就有then、catch等方法

new一个测试

init(){
            console.dir(Promise)
            
            let myPromise = new Promise(function(resolve,reject){
                //写一些异步操作, 处理结束后、调用resolve 或 reject
                //异步请求包括:setTimeout,XHR请求等

                setTimeout(() => {
                    console.log("请求异步数据完成")
                    resolve("操作成功了")
                    }, 2000);
                })

                //实例化过的 promise 对象可以调用 promise.then() 方法
                myPromise.then(function(result){
                    //result是上面调用resolve或者reject方法传入的值.
                    console.log(result)
                })
            }

Promise的构造函数接收一个参数,是函数,并且传入两个参数:

resolve:函数,异步操作执行成功后的回调函数

reject:函数,异步操作执行失败后的回调函数


 “成功”和“失败”描述的并不准确,resolve是将Promise的状态置为fullfiled,reject是将Promise的状态置为rejected。

 二、Promise的理解:

Promise JS 中进行 异步编程 的新解决方案 ,旧方案是单纯使用回调函数

语法上:Promise 是一个构造函数

功能上:promise 对象用来封装一个异步操作并可以获取其成功/ 失败的结果值

promise的状态:

1.promise对象的状态不受外界影响。

Promise 对象代表一个异步操作,有三种状态:

  • pending: 初始状态,不是成功或失败状态。
  • fulfilled: 意味着操作成功完成。
  • rejected: 意味着操作失败。

 2. 状态的改变:

1. pending 变为 resolved
2. pending 变为 rejected
说明 :
1.  只有这 2 , 且一个 promise 对象只能改变一次,一旦状态改变,就不会再变,任何时候都可以得到这个结果。 无论变为成功还是失败, 都会有一个结果数据。
2. 成功的结果数据一般称为 value, 失败的结果数据一般称为 reason
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值