unaipp异步加载数据实现页面同步
前言
之前学vue的时候看到过异步加载数据的写法,并且在vue里面用的大都是ES6的语法。对于async和await并不太了解,网上说在uniapp中请求数据时总是数据和页面不同步,用了他俩可以将数据搞同步。那今天就搞搞async和await
开搞
1.在uniapp中封装一个请求方法,文件名request.js
export default function request(url, data = {}, method = 'GET') { //data和method是初始化值
return new Promise((resolve, reject) => {
uni.request({
url: url,
data: data,
method: method,
success: (res) => {
console.log(res)
resolve(res.data);
},
fail: (err) => {
reject(err)
}
});
})
}
2.再开另一个js文件,叫做axios.js,用于填写request.js中的参数并获取返回数据,这里面可以写好多个export,随意点嘛
import request from "./request.js";
const url = "http://localhost:9988";
//页面初始化时获取前1-20条数据
export const getInitPaged = () => request(url + '/find/pages/1/20')
3.在xxx.vue中的method中写一个方法,用于将axios.js中返回的值接收并处理
//1.先将文件导入
import { getInitPaged } from '../../request/axios.js';
//2.在method中创建一个方法,用async修饰,里面的方法用await修饰
async getInitPages() {
const arr = await getInitPaged();
this.version = arr.object;//将数据给data里面的变量
},
//初始化的时候可以使用
created() {
this.getInitPages()
},
发表评论 (审核通过后显示评论):