为了账号安全,请及时绑定邮箱和手机立即绑定

跪求!axios怎么实现同步机制

跪求!axios怎么实现同步机制

米琪卡哇伊 2019-07-27 09:30:57
asyncfunctiongetList(){returnawaitaxios({method:'post',url:'/list/tododata/',data:json}).then(res=>{returnaxios.get('/list/tododata',{params:{'page':newState.current,}}).then((res)=>{constdata=res.data;returndata.results//想获取这个东西}).catch((error)=>{console.log(error);});}).catch((err)=>{console.log(err);});}getList().then(value=>{newState.list=value})returnnewStateasync返回的还是一个Promise,获取Promise的值还是异步的,以至于最后return的newSate还是没有被更新,请问想要获取最新的newState该怎么改?
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

asyncfunctiongetList(){
awaitaxios({
method:'post',
url:'/list/tododata/',
data:json
}).catch((error)=>{
console.log(error);
});
constresults=awaitaxios.get('/list/tododata',{
params:{
'page':newState.current,
}
}).then((res)=>{
constdata=res.data;
returndata.results;
}).catch((error)=>{
console.log(error);
});
returnresults;
}
                            
查看完整回答
反对 回复 2019-07-27
?
忽然笑

TA贡献1806条经验 获得超5个赞

functionpostTododata(){
returnnewPromise((resolve,reject)=>{
axios({
method:'post',
url:'/list/tododata/',
data:json
}).then(res=>{
resolve(res.data);
})
})
}
functiongetTododata(){
returnnewPromise((resolve,reject)=>{
axios({
method:'get',
url:'/list/tododata/',
params:{
'page':newState.current,
}
}).then(res=>{
resolve(res.data);
})
})
}
asyncfunctiongetList(){
awaitpostTododata();
newState.list=awaitgetTododata();
}
getList();
                            
查看完整回答
反对 回复 2019-07-27
  • 2 回答
  • 0 关注
  • 703 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信