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()
},
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容