我使用setInterval进行计时功能,也报了这个错,安卓真机都没问题,ios真机调试就会出现这个问题。官方能否尽快解决这个bug呀!
setInterval时间设置为0报错ios真机setInterval时间设置为0报错:setInterval failed setInterval time can not be zero,安卓真机测试和开发工具测试正常
2021-12-25请问后面ok了的程序能截图看看吗?我也遇到了同样的问题,iPhone真机计时显示一直为0
用setInterval函数做了个倒计时功能,真机调试开发工具调试都可以,一上线IOS倒计时就没用了countTime(){ var that = this; var timer = setInterval(() => { var canbuy=that.data.can_buy; var date = new Date(); var now = date.getTime(); var endDate = new Date(that.data.expirtime);//设置截止时间 var end = endDate.getTime(); var leftTime = end - now; //时间差 var m, s, ms; if (leftTime > 0) { m = Math.floor(leftTime / 1000 / 60 % 60); s = Math.floor(leftTime / 1000 % 60); ms = Math.floor(leftTime % 1000); ms = ms < 100 ? "0" + ms : ms s = s < 10 ? "0" + s : s m = m < 10 ? "0" + m : m canbuy=true } else { canbuy=false m=0 s=0 ms=0 } m==0?'00':m, s==0?'00':s, that.setData({ countdownTime:m+':'+s, can_buy:canbuy }) if(!canbuy){ clearInterval(timer) } }, 500) } 上线之后iphone11、iphone12倒计时都无效,用setTimeout函数也无效
2021-12-25你好,请问这个问题解决了吗?我也遇到了同样的问题,在开发工具的真机调试里是可以获取到时间显示正计时,但是使用iPhone真机的时候就显示为0了。
在IPhone中使用setInterval无效var interval = setInterval(function () { // 秒数 var second = totalSecond; // 天数位 var day = Math.floor(second / 3600 / 24); var dayStr = day.toString(); if (dayStr.length == 1) dayStr = '0' + dayStr; // 小时位 var hr = Math.floor((second - day * 3600 * 24) / 3600); var hrStr = hr.toString(); if (hrStr.length == 1) hrStr = '0' + hrStr; // 分钟位 var min = Math.floor((second - day * 3600 * 24 - hr * 3600) / 60); var minStr = min.toString(); if (minStr.length == 1) minStr = '0' + minStr; // 秒位 var sec = second - day * 3600 * 24 - hr * 3600 - min * 60; var secStr = sec.toString(); if (secStr.length == 1) secStr = '0' + secStr; that.setData({ liveday: dayStr, livehours: hrStr, livesecond: secStr, liveminute: minStr, }); totalSecond--; //用于判断是否显示天数 if (day == 0) { that.setData({ Downday: false, Downsecond: true }) } else { that.setData({ Downday: true, Downsecond: false }) } }.bind(this), 1000);
2021-12-25