浅谈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函数

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