小程序 3 封装 (wx.request)

用promise封装 wx.request()

      promise 是一个 构造函数,主要是用来封装异步操作并可以获取成功(relove)或失败(reject)的结果  

     首先创建一个http文件夹

     里面有三个js文件  分别是:api.js (用来存储接口地址)  fetch.js(用来封装wx.request)  http.js (用来合并 api.js 和 fetch.js)

            api.js

                  

module.exports={
  // 名字 : '地址'
  banner:'/home/multidata'
}

 

fetch.js 

        

module.exports = (url, method, data) => {
  // 定义一个变量 用来接受Promise 返回来的值
  let p = new Promise((resolve, reject) => {
    wx.request({
      // 地址
      url: url,
      // 要传输的数据
      data: data,
      // 什么请求
      method: method,
      // 返回回来的数据  正确的情况下
      success(res) {
        resolve(res)
      },
      // 错误的情况下
      fail(err) {
        reject(err)
      }
    })
  })
  // 返回 p
  return p
}

   http.js

 


let api = require('./api');

let fetch = require('./fetch');
// 定义接口开头
let urlBase = 'http://123.207.32.32:8000/api/h8';
// 创建函数
function banner() {
  // 返回banner 对象
  return fetch(urlBase+api.banner,'get',{})
}

module.exports={
  // 返回banner对象
  banner
}

 然后在 app.js 中 定义

const  http = require('./http/http')

App({
     http
})

最后 在 index.js中定义

// 获取 app.js
const app = getApp();

Page({
     onLoad: function (options) {
        
       app.http.banner().then((res)=>{
        let {data:{data:{banner:{list}}}} = res;
           this.setData({
             arr:list
           })
     })
  },
})

最后到 index.wxml中渲染

<swiper autoplay='true' interval="1000" indicator-dots="true" indicator-color="black" indicator-active-color="white">
  <swiper-item wx:for="{{list}}" wx:key="index">
    <view >
      <image
      style="width:100%"
        src="{{item.image}}" />
    </view>
  </swiper-item>
</swiper>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值