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

微信小程序基于Promise封装wx.request请求(完整代码) 附完整代码,通俗易懂 阅读详情

我们来尝试使用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、第一个用来执行成功的后续步骤,比如弹框之类,第二个用来执行失败的后续步骤

小程序使用Promise对wx.request()进行封装详细教程(uniapp适用,附完整代码) 微信小程序wx.request封装详细教程,附完整代码 阅读详情

相关推荐

微信小程序写同步promise的最简单方法

第一次写微信小程序,被异步坑死了,异步是哪个运行的快就先运行了, 运行慢的慢慢运行完,所以根本不能按照程序编写顺序一步步运行正确。 在网上找了好久介绍,Async-await,Promise什么的,弄不清楚具体怎么写,后来终于弄清楚了,按顺序运行的Promise模板格式其实很简单!原理抛开,引用抛开,没有var。如下: //new Promise模板 new Promise((resolve, r...

qq_21883423的博客 4797

微信小程序-封装请求API——promise方式

微信小程序原生的请求API就是wx.request wx.request({ url: 'example.php', //仅为示例,并非真实的接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data) } }) 有时候不能很好的适配我们的开发需求,比如我们要加一

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1万+

微信小程序:初识Promise

一、什么是Promise 以下是MDN对Promise的定义 The Promise object is used for asynchronous computations. A Promise represents a single asynchronous operation that hasn't completed yet, but is expected in the future...

Dove言和 1022

微信小程序学习第8周————Promise

的

潜心 3590

微信小程序中ES6 Promise的封装实践

pending: 初始状态,表示Promise尚未开始或正在执行中。fulfilled: 表示Promise操作成功完成,且Promise的状态不再变化。rejected: 表示Promise操作失败,同样地,一旦Promise的状态变为rejected,状态就固定下来,不会再改变。finally方法是一个在Promise解决之后无论成功或失败都会执行的回调。它不会接收任何参数,因此无法判断Promise是成功还是失败。finally方法提供了一种清理资源的方式。

weixin_32098457的博客 729

微信小程序中ES6 Promise异步编程实战详解

场景是否中断链?如何恢复?.then内throw错误是使用.catch捕获并返回新值异步Promise reject是同上.catch返回普通值否链条恢复,后续.then可继续.catch再次throw是继续向后冒泡至下一个.catch💡 实践建议:在复杂链路中,可在关键节点插入.catch进行局部容错(如重试),也可设置最终兜底的.catch统一上报错误日志。

weixin_36487018的博客 923

微信小程序实现分享里调用接口

微信小程序分享时请求后台接口

hsdsnd的博客 3627

Ubuntu升级遇到grub-efi-amd64-signed安装失败?3步搞定这个烦人错误

本文深度解析Ubuntu系统升级时grub-efi-amd64-signed安装失败并提示“cannot find EFI directory”错误的根本原因。该错误通常由EFI系统分区挂载异常、BIOS/UEFI引导模式不匹配或dpkg包状态死锁导致。文章提供了三步精准修复流程:首先检查并修复ESP分区挂载,其次处理dpkg依赖问题,最后针对传统BIOS系统提供适配方案,帮助用户安全彻底地解决这一常见升级难题。

r7s8t的博客 398

微信小程序promsie.all和promise顺序执行

微信小程序promsie.all和promise顺序执行 一、前言 最近在做小程序的开发,碰到的一个需求就是表单提交,提交的表单中包含有图片,微信这边的做法是先上传图片,后台把图片名称和地址返回给你,然后你把图片信息插入到表单的相应位置再提交表单,这里就涉及到如何上传完图片的请求再上传表单,而且微信小程序里面如果图片是多个的话,也只能一张张上传。简单来说就是上传完图片(多个请求),拿到返回值,...

luckyboy101的专栏 3136

信号完整性分析学习--16--传输线效应

传输线效应 说到传输线效应,大多数人都会想到一个经验法则,那就是: “当互连线的长度大于1/6倍的信号上升时间的空间延伸时,互连线就体现出传输线效应。” 上升时间越小越容易体现传输线效应。 由此可见,同一根互连线,它是否体现传输线效应,要看它要传输什么样的信号。下图所示,一根延时为15ps的互连线,当它传输上升时间为60ps的信号时就会体现传输线效应;当它传输上升时间为180ps的信号时就不体现传输线效应。

qq_29476769的博客 7272

蓝牙RSSI定位实战:用Arduino+BLE4.0搭建厘米级室内定位系统(附完整代码)

本文详细介绍了如何利用Arduino和BLE4.0模块构建厘米级精度的蓝牙RSSI室内定位系统。通过硬件选型、系统架构设计、三点定位算法实现及误差补偿技术,实现在商场导览、仓储管理等场景中的高精度定位。附完整代码和实测数据,帮助开发者快速部署商用级解决方案。

peace的博客 897

微信小程序开发实战 ②①(网路请求Promise化)

API Promise化,指的是通过额外的配置,将官方提供的、基于回调函数的异步 API,升级改造为基于Promise 的异步 API,从而提高代码的可读性、维护性,避免回调地狱的问题。本文到这里就结束了,大佬们的支持是我持续更新的最大动力,希望这篇文章能帮到大家💪相关专栏连接🔗下篇文章再见ヾ( ̄▽ ̄)ByeByeHomePage社区链接🔗专栏连接🔗。

m0_61490399的博客 2482

2026年AI技能进阶指南:从提示词工程到智能体开发实战

提示词工程作为AI时代的基础沟通技能,其核心原理是通过系统化的交互方法论实现与大模型的高效对话。这项技术通过明确性、具体性和可操作性的设计原则,显著提升了AI生成内容的质量和实用性。在工程实践层面,提示词工程已经发展出角色扮演、步骤分解等成熟模式,广泛应用于代码生成、技术方案设计等场景。随着AI智能体开发的兴起,提示词工程进一步演化为定义智能体身份认知和行为规范的系统接口设计,成为构建自主AI系统的关键技术基础。掌握从基础提示词到智能体开发的完整技能栈,能够帮助开发者在AI技术浪潮中保持核心竞争力。

weixin_33139275的博客 333

微信小程序中promise的使用

简介 相信看到这篇文章的同学,都已经对微信小程序的api文档有所了解了,也都经历了微信小程序api回调函数嵌套的痛苦,才会想要通过Promise解决回调地狱这个问题,我下面就直接介绍怎么在小程序中使用promise。 历史问题 很多同学肯定看到一些介绍微信小程序中使用Promise的文章,告诉你说微信小程序不支持Promise,需要自己引入es6-promise,或者需要使用一些第三方的pr...

1506

从无序到结构化:HAC框架如何用哈希网格重构3D高斯压缩范式 | ECCV2024技术解读

本文深入解读了ECCV 2024提出的HAC框架,它通过引入二值哈希网格为无序的3D高斯锚点建立空间结构,并利用上下文模型进行自适应量化,从而实现了对3D Gaussian Splatting模型的高效压缩。该方法将压缩范式从单纯削减数据转向智能理解数据关系,在保持高质量渲染的同时,显著提升了压缩率,为移动端部署和实时应用提供了新方案。

yolo5detector的博客 459

旗鱼优化算法(SFO)详解:从海洋猎手到智能优化

旗鱼优化算法(SFO)是一种新型群体智能优化算法,灵感来源于旗鱼的群体捕食行为。该算法采用双种群机制,模拟旗鱼(精英个体)与沙丁鱼(普通个体)的交互过程,通过交替攻击策略实现探索与开发的平衡。核心机制包括:基于猎物密度的旗鱼位置更新、随迭代衰减的攻击力度控制、以及捕食替换机制。SFO具有参数少、全局搜索能力强等特点,在高维复杂优化问题中表现优异。算法通过模拟自然界中的群体智能行为,为解决工程优化问题提供了新思路。

qq_42212808的博客 163

wx-promise-pro 微信小程序异步库使用教程

`wx-promise-pro` 是一个强大且优雅的微信小程序异步库,旨在简化微信小程序中异步API的使用。通过将微信小程序的所有异步API promise 化,并将其挂载到 `wx.pro` 对象下,开发者可以更方便地使用 `async/await` 语法来处理异步操作。此外,该项目还支持 ES2018 的 `finally` 特性,并且兼容 TypeScript 开发。 ## 2、项目快速启...

gitblog_00735的博客 829

通过一个具体的例子,讲解 SAP Cloud Platform Integration(CPI) 的使用方法

最近笔者由于项目需要,又得学习一个新工具:SAP Cloud Platform Integration,简称 CPI,以前又叫做HCI - HANA Cloud Platform Integration Service.笔者想通过本文,把使用这个工具的第一手体会,分享给曾经用过SAP CRM中间件,但尚未有机会接触到CPI的朋友们。之所以本文标题里把SAP CRM中间件和SAP CPI关联在一起,是因为二者同广义上说,扮演的都是系统集成里中间件的角色。SAP ERP和CRM通过qRFC进行业务数据同步,而中

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2273

Promise的循环用法

用到Promise的静态方法Promise.resolve(); 返回值是一个Promise对象 var promise1 = Promise.resolve(123); promise1.then(function(value) { console.log(value); // 输出: 123 }); 微信小程序生成图片需要先把图片下载 没有循环之前我是这么做的 // 把网络图片改成...

KenThomas的博客 5687

AI上推荐 之 协同过滤

㐇

Miracle8070 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【微信小程序】基础篇 -- 使用 npm 包 - API Promise化(四十二)

大家好,又见面了,我是夜阑的狗🐶,本文是专栏【微信小程序开发教程】专栏的第42篇文章;今天开始学习微信小程序的第23天💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。【微信小程序开发教程】, 此专栏是我是夜阑的狗微信小程序开发过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。API Promise化,指的是通过额外的配置,将官方提供的、基于回调函数的异步 API,升级改造为基于Promise。

JMFive的博客 3749

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

第147篇:微信小程序开发中Promise的使用(aysnc,await)

当你调用 async定义的函数 (fetchTypelist) 时,返回的实际上是一个 Promise,而不是直接返回的数据。// 这里可以获取到返回的 rows } catch (error) {// 如果需要token,可以在这里添加。async 函数默认返回一个 Promise,即使你在 async 函数中显式返回了值。一个promise是的仅仅只是一个promise,并没有拿到请求返回的结果。第147篇:微信小程序开发中Promise的使用(aysnc,await)// 添加常规的查询参数。

weixin_55010563的博客 1358

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

微信小程序,Promise异步请求个人觉得最舒服的方式

app.js Promise: function(promise){ let APIURL = 'https://xxx.xxxx.com/'; return new Promise(function (resolve, reject){ wx.request({ url: APIURL + promise...

iZaiZaiA的博客 4401

使用promise解决微信小程序中的request回调地狱

本篇文章主要使用微信小程序中的request方法为例子 wx.request原始用法 wx.request({ url: 'url', // 这里填写的接口地址 data: { }, //这里填写需要传输的数据 method: 'POST', // 这里也可以是'GET' header: { 'content-type': 'application/...

Beyond the Horizon 3万+

微信小程序封装公用的Http请求方法,并解析Promise对象

微信小程序封装公用的http请求方法微信小程序目录结构封装Http请求方法解决Http请求方法异步问题解析`Promise`对象 微信小程序目录结构 首先介绍一下微信小程序的目录结构 上图就是初始化小程序后,最初的目录结构了。 一共有 *.js , *.json , *.wxml , *.wxss 这几种类型的文件,以及pages,utils 两个文件夹。以此给大家介绍。 JS文件 : 存放以页面为单位的小程序方法,初始化的数据,组件事件的文件。 JSON文件: 存放以页面为单位的页面属性,例如:页面

头发快掉完了 2190

微信小程序API Promise化教程

微信小程序API Promise化教程 项目介绍 minapp-api-promise 是一个开源项目,旨在将微信小程序的所有API promise化,支持await语法,并支持请求队列。该项目由bigmeow开发,基于MIT许可证发布。通过使用这个库,开发者可以避免回调地狱,使代码更加简洁和易读。 项目快速启动 安装 首先,你需要在你的微信小程序项目中安装minapp-api-promise库。...

gitblog_00863的博客 397
上一篇: 微信学习之导航功能
下一篇: 接上,让Promise将结果传递下去
小新110
博客等级 码龄21年 106粉丝 265原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值