微信小程序 async await解决异步问题

本文介绍了如何在微信小程序中利用async和await处理异步函数,特别是在App.js的onLaunch()中验证其用法。通过示例展示了如何在getOpenID()函数中结合Promise实现异步获取openid,并在onLoad()生命周期函数中同步调用。学习此技巧有助于解决异步嵌套问题,提高代码可读性。

小程序大部分函数和数据库操作都是异步执行的,如果希望同步执行,需要用到async 和await这对基友,必须成对出现。

为了快速验证 async/await 可用,在 App.js 的 onLaunch() 事件函数中加一段代码:

(async () => {
    const p = await new Promise(resolve => {
        setTimeout(() => resolve("hello async/await"), 1000);
    });
    console.log(p);
})();

比如获取openid, 首先getOpenID需要借助promise实现,然后才可以使用async 和 await来同步

Page({

getOpenID(){     

    return new Promise((resolve,reject)=>{

      wx.cloud.callFunction({

        name:'getOpenid'

      }).then(res=>{

        let openid = res.result.openid;       

        resolve(openid);

      }).catch(res=>{

        reject(res);

      })

    });    

  },  

/**

   * 生命周期函数--监听页面加载

   */

  async onLoad(options) {       

       const openid = await this.getOpenID();  

   }

})

关于 async 和 await的使用可参照Promise的简单应用(微信小程序版)-解决异步嵌套调用_未知数-zyx的博客-CSDN博客_微信小程序promise的用法

在直播带货时需要不断口播重要信息,嗓子喊哑了观众还是记不住优惠券码;在门店展示屏或企业前台想循环播放欢迎语和宣传口号,却找不到一个不占用全屏、不干扰其他操作的轻量工具;甚至只是自己在电脑前工作,想用一句励志语录时刻提醒自己保持专注——这些场景下,一个能够浮动在桌面最上层、不干扰鼠标键盘操作、且支持高度自定义视觉样式的滚动字幕工具,恰恰是最优雅的解决方案。桌面滚动字幕软件 Pro正是为此而生的一款专业级桌面辅助工具。它的核心定位是:在Windows桌面上创建一个可置顶、可调透明度、可自由拖拽缩放的精美文字滚动窗口,支持纯色与渐变色文字、多方向滚动控制、无限循环播放以及完整的字体样式与边框背景自定义,无论是用于直播提词、门店广告、企业宣传,还是个人励志便签,都能在不占用任务栏焦点的前提下,让文字信息以最醒目的方式持续呈现。这款软件的核心功能围绕可视化文本样式编辑、灵活的窗口属性调节、精准的滚动控制机制三大模块构建。文本样式编辑模块提供了极为细致的文字渲染能力:用户可以选择“纯色模式”或“渐变颜色模式”,在渐变模式下可分别设置起始色、中间色与结束色,并支持横向或纵向渐变方向;快速配色方案(暖色系、冷色系、霓虹系、自然系)让非设计背景的用户也能一键获得专业级视觉效果。字体方面,支持加载系统已安装的任何字体,可调节字号(最大可设至48pt以上),并提供加粗、斜体、阴影、描边(宽度可调)、水平翻转、垂直翻转以及字符间距与行距等完整排版选项,满足从严肃商务到潮流直播的各种文字风格需求。窗口属性模块则赋予了字幕窗口本身的“外观”与“行为”控制权:用户可以精确设定窗口的宽度(如800px)与高度(如100px),或通过“小/中/大/全宽”快捷按钮一键适配;窗口透明度支持0%-100%无级调节,让字幕融入背景而不显得突兀;可选择性启用背景底色与边框,自定义背景颜色、边框宽度与边框颜色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少杰()

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值