浅谈promise函数

作者: 其实杰伦 | 来源:发表于2016-08-22 00:46 被阅读47次

在工作当中经常会使用到的promise函数,在这给自己稍微总结下,本身自己理解的不透彻,方便自己查看吧 - -

关于Promise的返回值

 //promise函数
    this.getAccessToken()
        .then((data) => {
            //如果有就解析 没有就会报错 就走 更新
            try {
                //解析
                data = JSON.parse(data)
            }catch (e) {
                //返回一个可以更新access的promise的函数
                return this.updateAccessToken()
            }

            //如果验证通过
            if(this.isValidAccessToken(data)) {
                Promise.resolve(data)
            }else {
                return this.updateAccessToken()
            }
        })
        .then((data) => {
            this.access_token = data.access_token
            this.expires_in = data.expires_in

            this.saveAccessToken(data)
        })
  • then函数内部还是返回的是promise函数,如果有promise函数,那么可以直接return一个以前写好的promise函数
  • 如果返回的不是一个promise函数,那么可以直接return即可,之后依旧可以用then来接收返回的值,或者可以用promise.resolve(str)来包装使之变成一个真正的Promise对象,
    promise.resolve('foo')等价于 ===》 new Promise(resolve => resolve('foo'))
  • promise函数在then回调中可以一直的进行promise下去

相关文章

  • 浅谈promise函数

    在工作当中经常会使用到的promise函数,在这给自己稍微总结下,本身自己理解的不透彻,方便自己查看吧 - - 关...

  • Promise

    ES规定,Promise对象是一个构造函数,用来生成Promise实例 Promise 构造函数接受一个函数作为参...

  • 循环多个 Promise 异步函数

    了解Promise 循环多个 Promise 异步函数

  • 如何正确的使用Promise

    promise用法 对比传统回调函数与Pormise的写法 传统回调函数 Promise的写法 Promise要比...

  • Promise、Generator 函数

    Promise对象是一个构造函数,用来生成Promise实例 resolve函数改变promise状态从Pendi...

  • Promise函数介绍和用法

    Promise函数(异步请求操作可用) Promise用法 Promise其实是一个构造函数 ! 使用方法如下: ...

  • 使用 ES6 实现一个简单的 Promise

    Promise 基本结构 构造函数 Promise 必须接受一个函数作为参数,同时这个函数又包含 resolve ...

  • promise用法

    Promise笔记 1.promise构造函数 Promise是一个构造函数,传参是一个function(reso...

  • ES6 Promise 异步2

    概念: Promise 是一个构造函数,既然是构造函数,就可以 new promise()一个 promise 实...

  • 原生js实现promise部分功能

    Emitter 工具函数 Promise函数 DEMO

网友评论

    本文标题:浅谈promise函数

    本文链接:https://www.haomeiwen.com/subject/mhmwsttx.html