浅谈promise函数

在工作当中经常会使用到的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下去
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容