当前位置: 首页 > backend >正文

微信小程序之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、第一个用来执行成功的后续步骤,比如弹框之类,第二个用来执行失败的后续步骤

http://www.xdnf.cn/news/8222.html

相关文章:

  • 笔记:将一个文件服务器上的文件(一个返回文件数据的url)作为另一个http接口的请求参数
  • 重读《人件》Peopleware -(11)Ⅱ 办公环境 Ⅳ 插曲:生产力测量与不明飞行物
  • Nginx核心功能
  • 【Linux系统】冯诺依曼体系结构 和 操作系统的介绍
  • Ctrl+鼠标滚动阻止页面放大/缩小
  • QFileDialog::getSaveFileName导致系统崩溃
  • Go语言gopacket库的HTTP协议分析工具实现
  • 学习人工智能:从0到1的破局指南与职业成长路径
  • vue3+vue-flow实现拖拽矩形框,端点连线,自定义宽高
  • BGP为什么要配置对等IP?
  • PyInstaller入门
  • 如何看navicat数据库连接的密码
  • C++效率掌握之STL库:unordered_map unordered_set底层剖析
  • JavaScript【8】异步请求与本地存储
  • 巢票赛演协议逆向分析
  • 建设工程窝工、停工损失案件庭审发问提纲
  • [Dify] 在Dify中优雅处理本地部署LLM的Token超限问题
  • TransMorph:用于无监督医学图像配准的变压器
  • 网络编程中的 Protobuf 和 JsonCpp 全面解析
  • 视频监控管理平台EasyCVR结合AI分析技术构建高空抛物智能监控系统,筑牢社区安全防护网
  • Dify-4:API 后端架构
  • C#学习11——集合
  • 电机试验平台:实现高效精密测试的关键工具
  • 蓝桥杯 10. 安全序列
  • 今日行情明日机会——20250522
  • Linux 部署 RocketMQ
  • 基于江协标准库所出现的定时器5678以及串口45等无法使用的问题解析
  • 写实交互数字人在AI招聘中的应用方案
  • UE5 Va Res发送请求、处理请求、json使用
  • React 如何封装一个可复用的 Ant Design 组件