小程序
小游戏
企业微信
微信支付
扫描小程序码分享
小程序在调用微信支付时,出现输入密码弹窗时,会阻塞页面中的setTimeout和setInterval执行,在安卓手机是必现(苹果手机时正常的),页面中的setTimeout或者setInterval 通过日志打印,说明都是可以正常执行的,但是页面时不会及时更新的,当关闭这个密码弹窗时,页面中的倒计时会突然跳动。
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
判断是弹出支付窗口后,小程序为后台状态,在后台的时候,小程序会停止运行。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
countDownTime(endDate) { console.log('订单倒计时', endDate); var startTime = new Date().getTime(); var endTime = moment(endDate).valueOf(); var lastTime = Math.floor((endTime - startTime) / 1000) + 1; var timer = () => { lastTime--; if (lastTime >= 0) { let int_minute = Math.floor(lastTime / 60); let int_second = Math.floor(lastTime - int_minute * 60); int_minute = int_minute < 10 ? `0${int_minute}` : int_minute; int_second = int_second < 10 ? `0${int_second}` : int_second; this.countDown = `00:${int_minute}:${int_second}`, this.timeOut = false; setTimeout(timer, 1000); } else { this.countDown = '00:00:00', this.timeOut = true; } console.log('倒计时:', this.countDown); } timer(); // initial invocation }, 这个console.log('倒计时:', this.countDown);打印会一直执行的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
判断是弹出支付窗口后,小程序为后台状态,在后台的时候,小程序会停止运行。
countDownTime(endDate) { console.log('订单倒计时', endDate); var startTime = new Date().getTime(); var endTime = moment(endDate).valueOf(); var lastTime = Math.floor((endTime - startTime) / 1000) + 1; var timer = () => { lastTime--; if (lastTime >= 0) { let int_minute = Math.floor(lastTime / 60); let int_second = Math.floor(lastTime - int_minute * 60); int_minute = int_minute < 10 ? `0${int_minute}` : int_minute; int_second = int_second < 10 ? `0${int_second}` : int_second; this.countDown = `00:${int_minute}:${int_second}`, this.timeOut = false; setTimeout(timer, 1000); } else { this.countDown = '00:00:00', this.timeOut = true; } console.log('倒计时:', this.countDown); } timer(); // initial invocation }, 这个console.log('倒计时:', this.countDown);打印会一直执行的