链式调用

// 短信验证码接口
            feachMessage() {
                return axios.get('urlXXXX', {
                    params: {
                        Mobile: this.list.phone
                    }
                }).then(res => {
                    console.log(res)
                    if (res.data.code == 1) {
                        this.$message({
                            message: res.data.message,
                            type: 'success',
                        })
                        return Promise.resolve('123')// 123 随便写的
// 原来是这样写的
//return this.status = 'ok'
                    } else {
                        this.$message(res.data.message)
                        return Promise.resolve('456')
//  return this.status = 'noo'
                    }
                }).catch(err => {
                    this.$message(err)
                })
            },

这个是, 短信验证码的发送接口, 然后,验证码发送成功调用倒计时函数,不成功不调用倒计时,我一开始的想法,是返回一个data 状态, 通过状态判断是否倒计时执行

if(this.status == 'ok'){
  // 倒计时函数执行
}

但是这样行不通,因为 在if 判断里面拿不到 status的值, 得到status值是undefined,

后一个函数的执行依赖前一个函数的返回结果,就能想到promise, 最后, 发送成功,return Promise.resolve('123'), 调用的时候是这样的

this.feachMessage().then(res => {
                      if (res == '123') {
                            this.timeSum()
                            this.canUsed = true
                        }
                    }).catch(err => {
                        console.log(err)
                    })

你可能感兴趣的:(链式调用)