能点进来看的可能都遇到过的问题,就是ios下setInterval和setItiemout在最后一秒失效。这个问题一直很困扰我,因为项目着急上线,要解决这个问题。我就换了一种写法湿了一下,结果是可以的。希望对你们有用。

没解决问题前是这样的


     let that = this 
        let two = setInterval(function() {
            that.$refs.time.src = require('../../assets/img/2.png')
        },1000)
        let one = setInterval(function() {
          clearInterval(two)
            that.$refs.time.src = require('../../assets/img/1.png') 
        },2000)
        setTimeout(() => {
          clearInterval(one)
          that.show = false
        },3010)

解决这种问题的一种写法

let seconds = 2
      let that = this 
      let two = setInterval(function() {
        seconds--
        if(seconds === 1){
          that.$refs.time.src = require('../../assets/img/2.png')
        }else if(seconds === 0){
          that.$refs.time.src = require('../../assets/img/1.png') 
        }
      },1000)
      setTimeout(function() {
        clearInterval(two)
        this.show = false
      },3010)

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐