• 浅析Promise


    定义

    承诺,在声明函数时承诺好,如果成功就执行resolve,如果失败就执行reject。定义resolve和reject函数的人,是使用这个Promise对象的人。

    状态

    Promise有三个状态,分别时等待中,成功,失败。

    注意

    注意!!!!三个状态只能成等待中变成成功,或者从等待中变成失败,如果已经成功成功或者失败,就不能再改变状态

    1. function 异步函数 () {
    2. return new Promise((resolve, reject) => {
    3. setTimeout(() => {
    4. // 模拟几率
    5. if (Math.random() > 0.5) {
    6. // 来了
    7. resolve()
    8. } else {
    9. reject()
    10. }
    11. }, 3000)
    12. })
    13. }
    1. 异步函数().then(() => {
    2. // resolve函数
    3. console.log("一起走")
    4. }).catch(() => {
    5. console.log('自己走')
    6. })

    为什么有些函数调用之后,可以调用.then方法

    axios.get().then(res => {}).catch(() => {})

    因为这些函数在封装时,上来返回了一个new Proimise。promise对象中有三个方法。

    • then(() => {}) 异步操作成功时执行的函数
    • catch(() => {}) 异步操作失败时执行的函数
    • finally(() => {}) 不管成功还是失败都会执行的函数。

    Promise中所有的方法.then.catch.finally调用之后,都会返回这个promise对象。并且会按链式的顺序执行对应的then中的方法

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

    csdn文章推荐受影响解决办法10个字10行

  • 相关阅读:
    【C++进阶】:AVL树(平衡因子)
    android上架备案公钥和md5获取工具
    手写Promise完整介绍
    整理一些mysql常用的命令
    CSS宽度100%和宽度100vw之间有什么不同?
    新库上线 | CnOpenDataA股上市公司IPO申报发行文本数据
    总结ES11—ES13新特性——提升开发效率
    Redis 数据类型详细解析
    【单片机方案】小型充气泵打气筒方案功能设计
    手撸任意层神经网络-读从文本s.txt取网络结构初始化neuralNetwork
  • 原文地址:https://blog.csdn.net/qq_45547094/article/details/126926756