背景
我们是西安卫生局平台项目,给陕西健康卡完成移动App开发后,进军小程序开发

问题
迁移到登陆验证码获取,需要有倒计时功能,app使用到setTimeout ,出问题了?!死活递归调用不了
微信小程序短信倒计时60秒提醒功能实现

耗时
整整一个早晨的战斗,什么 外部定义方法啊 内部传递变量啊 等等。。。最后宣告失败

突破
发现了setInterval倒计时,果然好使。成功运行代码如下

    // 60秒后重新获取验证码
    var inter = setInterval(function () {
      this.setData({
        snsCodeMsg: "重新发送(" + this.data.snsMsgWait + ")",
        snsMsgWait: this.data.snsMsgWait - 1
      });
      if (this.data.snsMsgWait < 0) {
        clearInterval(inter)
        this.setData({
          snsCodeMsg: "获取验证码",
          snsMsgWait: 60
        });
      }
    }.bind(this), 1000);

注意后面的bind绑定,最关键。不然又是未定义,无法使用外围的变量。
微信小程序短信倒计时60秒提醒功能实现_第1张图片

最后
请不要放弃,想要的效果总会出现,坚持换个思路。


沫沫金提供,谢谢你的观看。朋友的软件开发都找我,你也可以。请百度搜索我得名字,你可和我一对一讨论技术。