微信小程序之Promise-Promise初始用

我们来尝试使用Promise。

1、需求,做个抽奖的按钮,

抽奖规则:

30%的几率中奖,中奖会提示恭喜恭喜,奖品为10万 RMB 劳斯莱斯优惠券,没中奖会提示再接再厉。

2、先搭界面:

复制代码
<view class="title">抽奖规则:</view>
<view class="content">30%的几率中奖,中奖会提示恭喜恭喜,奖品为10万 RMB 劳斯莱斯优惠券,没中奖会提示再接再厉。</view>
<button class="btn" bind:tap="prizeDraw">开始抽奖</button>

3、css文件

复制代码
page {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.btn{
  margin-top: 50rpx;
  color: black;
  border: 1px solid black;
}

.title{
  margin: 10rpx 40rpx;
  font-size: 50rpx;
  font-weight: 550;
}

.content{
  margin: 20rpx 80rpx;
  font-size: 40rpx;
}

3、实现prizeDraw函数。

复制代码
prizeDraw(){

    const p = new Promise((resolve,reject) => {

      setTimeout(() => {

        let n = Math.floor(Math.random()*100)+1;

        if (n <= 30) {

          resolve();

        } else {

          reject();

        }

      }, 1000);

    });



    p.then(() => {

      wx.showModal({

        title: '恭喜恭喜',

        content: '奖品为 10 万 RMB 劳斯莱斯优惠券',

        showCancel: false, // 隐藏取消按钮

        confirmText: '我知道了',

      });

    },() => {

      wx.showModal({

        title: '没抽中',

        content: '再接再厉',

        showCancel: false, // 隐藏取消按钮

        confirmText: '我知道了',

      });

    });

  }

代码说明:

a、const p = new Promise() ; //生成Promise对象。

b、里面有个参数,是函数,写法() => {}

c、函数里面有两个方法,resolve(解决)和reject(拒绝),函数里面的逻辑结果成功就调用resolve,失败就调用reject 。

d、然后运行Promise对象的then函数。

e、then里面带两个函数参数。

f、第一个用来执行成功的后续步骤,比如弹框之类,第二个用来执行失败的后续步骤

相关推荐
计算机程序设计小李同学1 小时前
婚纱摄影集成管理系统小程序
java·vue.js·spring boot·后端·微信小程序·小程序
幽络源小助理5 小时前
SpringBoot+小程序高校素拓分管理系统源码 – 幽络源免费分享
spring boot·后端·小程序
Mr -老鬼5 小时前
移动端跨平台适配技术框架:从发展到展望
android·ios·小程序·uni-app
内存不泄露6 小时前
棋牌预约小程序系统论文
小程序
计算机徐师兄8 小时前
Java基于微信小程序的食堂线上预约点餐系统【附源码、文档说明】
java·微信小程序·食堂线上预约点餐系统小程序·食堂线上预约点餐微信小程序·java食堂线上预约点餐小程序·食堂线上预约点餐小程序·食堂线上预约点餐系统微信小程序
说私域1 天前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
毕设源码-邱学长1 天前
【开题答辩全过程】以 基于微信小程序的松辽律所咨询系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
说私域1 天前
B站内容生态下的私域流量运营创新:基于AI智能名片链动2+1模式与S2B2C商城小程序的融合实践
人工智能·小程序·流量运营
计算机毕设指导61 天前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven