小程序JS理解1:小程序调用wx官方接口的大多都是异步函数!!!!

本文介绍了从C/MATLAB转向JavaScript开发者如何理解JS中的异步函数,特别是针对小程序开发中遇到的问题。通过两个具体案例说明了异步函数导致的逻辑错误,强调了在调用数据库、云函数或不确定是否为异步的wx接口时,使用async/await的重要性。错误案例展示了未使用async/await时,函数执行顺序混乱,导致数据无法正确赋值。解决方案是启用async/await确保函数逻辑顺序执行,并提醒在小程序中需开启增强编译来支持async/await。
摘要由CSDN通过智能技术生成

从C/matlab体系转入js体系的人首先应该理解js里异步函数的概念!!!

先说经验教训结论:

1、C的执行是顺序的,但是js的异步函数内外的执行逻辑不是顺序进行的,看起来好像需要延时一段时间才能正确执行。

2、调用数据库、云函数、或者不知道是否是异步函数的wx官方接口,请使用async、await体系确保函数的执行顺序。

教训案例1:

db.collection('Tourism_UserData').aggregate().match({
      ifPay:1,
      ifrefund:1,
    }).count('datanum').end().then(res1 =>{
      if(res1.list.length === 0){
        this.setData({
          OrderNumber:0,
          WholeIncome:0,
        })
      }else{
        const PAGE_COUNT = 20;
        const totalCount = res1.list[0].datanum;  //总数据数量
        const PageNum = Math.ceil(totalCount/PAGE_COUNT) //分页数
        let Pageindex = 0;
        let WholeIncome = 0;
        let AntNumber = 0;
        for(Pageindex=0;Pageindex<PageNum;Pageindex++){  //每一页挨个处理
          db.collection('Tourism_UserData').aggr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值