uni-app中调取接口的三种方式:
1、最普通的调取接口方法,不能解决异步
uni.request({
url:'',
data:'',
method:'', //get、post、delete
header:{},
success:res=>{},
fail:()=>{},
complete:=>{}
})
2、利用ES6的Promise对象解决异步问题的方法
uni.request({
url:'',
data:'',
method:'', //get、post、delete
header:{}
}).then((result)=>{
result将返回一个数组[error,{NativeData}]
})
NativeData:调取接口后返回的原生数据。
uni.request({
url:'/api/getIndexCarousel.jsp',
}).then(result=>{
let [err,res]=result;
if(res.stat0usCode===200){
this.carouselData=res.data;
};
if(res.statusCode===404){
console.log("请求的接口没有找到");
}
})
(1)对数组的解构:
var arr=[10,20,30];
var [a,b,c]=arr; //对数组arr进行结构,并将数据给了abc三个变量
(2)对对象的解构:
var obj={a:10,b:20,c:30};
var w={
...obj
}
3、async/await ES6的终极解决异步问题的办法
async:用在函数定义的前面。 async request(){ //函数体; }
await:用在标明了async关键字的函数内部 异步操作的前面。
methods: {
async request(){
let result=await uni.request({
url:'/api/getIndexCarousel.jsp',
})
let [err,res]=result;
if(res.statusCode===200){
this.carouselData=res.data
}
}
},
onLoad(){
this.request();
}