微信小程序之异步处理

更新日期: 2021-04-08阅读量: 476标签: 小程序

前言

小程序中存在大量异步调用的接口,例如最常用的wx.login()wx.getUserInfo()wx.setStorage()wx.getStorage()wx.request(),虽然官方对部分接口也做出了同步版本,例如wx.setStorageSyncwx.getStorageSync(),但是在实际开发中始终要面对异步处理这个问题。

由于没有编写小程序的经验,一遇到异步问题果断想起了async/await,但在使用过程中看到程序的输出顺序就发现不对劲(用了跟没用一样)。百度一番后发现小程序默认不支持async/await,需要在开发者工具右上角点击详情-->本地设置-->增强编译来增强 ES6 转 ES5 的能力。


或者打插件npm install regenerator实现异步处理。(以上两种方法我都没用,直接用了promise)


promise()

比如要实现当方法A执行完再实现方法B。

那么需要在方法A中返回一个promise,返回的promise中进行数据操作,成功的数据传入resolve,失败的结果传入reject。

接着在方法B中调用方法A,用.then 和 .catch 分别对成功和失败的结果进行处理。

例子:

// 方法A
testA() {
  return new Promise((resolve, reject) => {
    wx.request({
      url: 'xxxxxxx',
      success: res => {
        resolve(res)
      },
      fail: res => {
        reject('失败啦')
      }
    })
  })
},
//方法B
testB() {
  this.testA().then(res => {	// 方法A执行完后执行方法B
    // 填写方法B的内容
    ...
    console.log(res)	// 输出内容:res
  }).catch(res => {
    console.log(res)	// 输出内容:'失败啦'
  })
}
注:本文可分享可转发,转发请注明出自bug源


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: https://www.fly63.com/article/detial/10205

微信小程序WXS之谜

微信创造了 WXS ,除了提高性能,还有什么原因?WXS(WeiXin Script)是微信创造的一套脚本语言,它的官方说法是:“WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致”。

微信小程序开发注意指南和优化实践

转眼间已经参与过我厂好几个小程序的开发了,下面本妹子将开发中的那些注意点和各位小伙伴们分享下,妥妥的干货一枚。微信开发者工具不会对代码进行trim操作,如果代码中换行,页面也直接换行。

使用CryptoJS在小程序中实现加解密

本文使用md5和rc4作为示例代码,可以根据实际项目选择不同的加密方式:在百度静态资源公共库中搜索crypto-js、用到CryptoJS的js放到同一个文件中,并在文件最下方暴露接口module.exports = CryptoJS

优雅解决微信小程序授权登录需要button触发

聊一聊最近的一个项目,这个项目是一个收书、售书的小程序,有商城、专栏、信息发布论坛等功能。虽然不是面向所有用户,但要求无论用户是否授权都皆可使用,但同时也要求部分功能对不授权的用户限制开放。

微信小程序报错Do not have xx handler in current page的解决方法总汇

最近在做小程序开发的时候,发现小程序老是报Do not have xxx handler in current page... 惊不惊喜,意不意外,这是什么原因引起的呢?下面就整排查错误的解决办法。

小程序静默登录方案设计

OpenId 是一个用户对于一个小程序/公众号的标识,开发者可以通过这个标识识别出用户。UnionId 是一个用户对于同主体微信小程序/公众号/APP 的标识,开发者需要在微信开放平台下绑定相同账号的主体。开发者可通过UnionId,实现多个小程序、公众号、甚至 APP 之间的数据互通。

如何探测小程序返回到webview页面?

项目是小程序(wepy), 部分页面使用webview(vue). 经常会遇见一个场景: 当小程序navigateTo到一些页面对用户的收藏状态,做了修改后, 用户点击返回按钮回到上一个页面

小程序之生成朋友圈图片

微信的小程序是没有分享到朋友圈的功能的。小程序目前只能分享到群里或者发给好友。但是业务需要方便推广,需要分享到朋友圈。得出了以下思路:利用小程序canvas绘制图片,将背景图和二维码绘制成一张图片。

微信小程序之程序、页面注册及生命周期

微信小程序生命周期函数:onLoad: 页面加载。onShow: 页面显示每次打开页面都会调用一次。onReady: 页面初次渲染完成,onHide: 页面隐藏,onUnload: 页面卸载。在小程序中所有页面的路由全部由框架进行管理

小程序插件怎么玩?有赞和千万级用户的“群里有事”做了一次示范

小程序插件让大的公司赋能外部开发者变得非常方便,极大降低了中小开发者开发丰富的小程序应用的门槛,未来的发展是很值得期待的。尤其是国庆节前夕,微信公布的关于小程序跳小程序的新政策,极大地限制了不同主体之间小程序互跳的自由度

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!