小程序-你不得不知的Promise封装请求
放在开头
这是一个小程序的轮播图,但是为我们在请求api数据时,将请求wx.request代码封装调用
效果展示

代码篇
页面wxml
这里需要注意的是我们设置swiper和image标签时,有默认属性值, widthFix 让图片的标签宽高 和图片标签的内容的宽高都等比例的发生变化
<view class="index_swiper">
<swiper circular autoplay indicator-dots>
<swiper-item wx:for="{{swiperList}}" wx:key="goods_id">
<navigator url="/pages/category/category" open-type="switchTab">
<image src="{{item.image_src}}" mode="widthFix"></image>
</navigator>
</swiper-item>
</swiper>
</view>
页面wxss
.index_swiper swiper {
width: 750rpx;
height: 340rpx;
}
.index_swiper swiper image {
width: 100%;
}
页面js
设置初始数据,设置类型为数组,用封装的函数来代替请求数据,下面request为新命名的函数名
import {request} from "请求js所在的文件相对位置"
Page({
data: {
swiperList: [],
},
onLoad: function(options) {
this.getSwiperList();
},
getSwiperList() {
request({
url: "/home/swiperdata"
})
.then(result => {
this.setData({
// swiperList: result.data.message
swiperList: result
})
})
}
})
封装的请求
// 最简单的封装好的微信请求的代码
export const request = (params) => {
// 定义公共的URL
const baseUrl = "https://api-hmugo-web.itheima.net/api/public/v1";
return new Promise((resolve, reject) => {
wx.request({
...params,
url: baseUrl + params.url,
success: (result) => {
// resolve(result)
resolve(result.data.message)
},
fail: (err) => {
reject(err)
}
})
})
}
小程序-你不得不知的Promise封装请求的更多相关文章
- 解决微信小程序用 SpringMVC 处理http post时请求报415错误
解决微信小程序用 SpringMVC 处理http post时请求返回415错误 写微信小程序时遇到的问题,这个坑硬是让我整了半天 wx.request请求跟ajax类似处理方法一致 小程序端请求代码 ...
- egg微信小程序支付(服务商)插件封装
下单 通过下单获取prepay_id,然后返回给小程序发起支付 若是服务商,mch_id:传入服务的商户号:sub_mch_id:传入子商户的商户号,算法签名的秘钥是服务商的秘钥. 'use stri ...
- 小程序https Android 安卓可以发request请求,IOS 苹果 发请求失败问题
如果一个机器可以发送成功,一个机器发送失败,那多半是是域名的https支持的问题 那就用腾讯云的这个ssl测试工具检测下 https://www.qcloud.com/product/ssl#user ...
- 微信小程序开发之大坑记之post请求
原文:http://blog.csdn.net/walkingmanc/article/details/54237961 在微信小程序开发过程中,如果你完全按照官方文档来,那么恭喜你,90%的可能性你 ...
- 微信小程序开发《二》:http请求的session管理
作为一个开发JavaWeb应用的程序猿,都喜欢将用户登录后的用户信息(比如说用户id,用户名称)放入session中保存,之后在业务逻辑的开发中需要用到用户信息的时候就可以轻松又方便的从session ...
- 微信小程序的网络设置,及网络请求:wx.request(OBJECT)
Md2All 一个Markdown在线转换工具 网址:http://md.aclickall.com 微信公众号:颜家大少本文所用排版工具:http://md.aclickall.com 支持通用的M ...
- 微信小程序 功能函数 openid本地和网络请求
本地-------------------------------------------------------------------------------------------------- ...
- 微信小程序初探(二、分页数据请求)
大家好 波哥小猿又来啦[斜眼笑],昨天咱们讲了微信小程序简单数据请求,有没有照着教程实现请求的同学们啦 实现的同学举个爪[笑脸].哈哈,好了不扯犊子啦,我相信有的同学已经实现了简单的数据请求,没有实现 ...
- 超简单 Promise封装小程序ajax 超好用 以及封装登录
//网络类 //封装网络请求 const ajax = (ajaxData, method) => { wx.showLoading({ title: '加载中', mask: true }); ...
随机推荐
- CentOS 7搭建Zookeeper和Kafka集群
环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...
- 永远不要使用双花括号初始化实例,否则就会OOM!
生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些"老同志"总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸. 但谁让咱年轻呢?吃亏要趁早,前路会更好. 喝了这口温热的鸡 ...
- vscode环境配置(二)——C Program Debug
一.任务准备 launch.json { "version": "0.2.0", "configurations": [ { "n ...
- UPD链接实现稳健传输案例
使用的类 DatagramSocket 用于发送数据和接收数据 此类的构造方法: DatagramSocket(); DatagramSocket(端口号); ...
- 基于Unity实现像素化风格的着色器
Shader "MyShaderTest/SimplePixelationShader" { Properties { _MainTex ("Base (RGB)&quo ...
- [Axure教程]0003.元件的触发事件
Axure RP 的每个元件都有着自己独有的和一些公共的触发事件,在不同的情况下触发不同的事件. 这里我们就以上图中文本输入框为例 A.改元件已使用的触发事件 [1].文字改变时:当一个元件内的文字改 ...
- 一、【python】机器学习基础
专有名词 机器学习 (machine learning) 预测分析 (predictive analytics) 统计学习 (statistical learning) 监督学习 (supervise ...
- SpringBoot获取配置文件,就这么简单。
在讲SpringBoot 获取配置文件之前我们需要对SpringBoot 的项目有一个整体的了解,如何创建SpringBoot 项目,项目结构等等知识点,我在这里就不一一讲述了,没有学过的小伙伴可以自 ...
- Cypress系列(5)- 自定义 Cypress
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前言 Cypress 不仅支持用户自定义 ...
- Rocket - tilelink - ErrorEvaluator
https://mp.weixin.qq.com/s/NkbW465NAmhDsETksd2M0g 介绍ErrorEvaluator的实现. 1. 基本介绍 ErrorEvalu ...