index.vue 轮播图
在根目录新建until目录;
//封装的方法api.js//定义变量const BASE_URL = 'http://localhost:8082'export const myRequest = (options)=>{//这是一个方法return new Promise((resolve,reject)=>{uni.request({url:BASE_URL+options.url,method:options.method || 'GET',data:options.data || {}, //不传就是为空success:(res)=> {if(res.data.status !== 0){return uni.showToast({title:'获取数据失败'})}resolve(res)},//一旦请求失败fail:(err)=>{uni.showToast({title:'请求接口失败'})reject(err)}})})}//调用方法myRequest({url:'/api/getlunbo'})
index.vue代码
<template><view>首页</view></template><script>export default {data() {return {swipers:[]}},onLoad() { //监听页面加载this.getSwiper()},methods: {//获取轮播的数据// async getSwiper(){// console.log('获取轮播的数据')// const res = await uni.request({// url:'http://localhost:8082/api/getlunbo',// })// console.log(res.data)// }//获取轮播数据async getSwiper(){// console.log('获取轮播的数据')// uni.request({// url:'http://localhost:8082/api/getlunbo',// success:res=>{// console.log(res.data.message)// if(res.data.status !== 0){// return uni.showToast({// title:'获取数据失败'// })// }// this.swipers = res.data.message// }// })const res =await this.$myRequest({url:'/api/getlunbo'})this.swipers = res.data.message}}}</script><style></style>
程序中的async和 await 是成对使用的。
因为要全局使用
import Vue from 'vue'import App from './App'//全局方法import { myRequest} from './util/api.js'Vue.prototype.$myRequest = myRequest //全局方法Vue.config.productionTip = falseApp.mpType = 'app'const app = new Vue({...App})app.$mount()
