这是小程序里面的代码,现在是getStorage进入了fail回调
const ajax = (option='',data=null,type='POST',t=0)=>{
return new Promise((resolve,reject)=>{
wx.getStorage({
key: 'openid',
success: (res)=> {
data = data || {openid:res.data}
console.log(data,"C") //data 3
app.util.request({
'url': 'entry/wxapp/' + option,
data: data,
method: type,
cachetime: t,
success: (res) => {
console.log(res,"D") //res数据 4
resolve(res)
},
fail: (res) => {
reject(res)
}
})
},
fail:(res)=>{
wx.login({
success:(res)=>{
console.log(res)
const code =res.code
app.util.request({
'url': 'entry/wxapp/open',
data:{
code:code
},
success: (res) => {
console.log('没有找到',"A") //没有找到 1
wx.setStorage({
key: 'openid',
data: res.data.openid,
success:(r)=>{
console.log('重接口',"B") //重接口 2
ajax(option,data,type,t);
}
})
},
fail: (res) => {
ajax(option, data, type, t);
}
})
}
})
}
})
})
}
const getPra = ()=>ajax('user')
getPra().then(res=>{
console.log(res) //这里没有打印出来
})
打印的顺序是ABCD,感觉在进入fail回调之后重新调用ajax成功了啊,为什么后面的then打印不出来东西呀,求大神讲解一下
你调用的
resolve
不是最开始的那个