小程序里面setTime用不对

  time_delay:function(){
    this.setData({
      need_delay: false,
    })
  },
  delay_submit:function(){
    let BB= this.time_delay()
    setTimeout(BB(), 60000)
  },

上面是在小程序里的代码,下面是小程序报的bug

https://img2.mukewang.com/5abb916b00010d4206570191.jpg

换个写法

  time_delay:function(){
    this.setData({
      need_delay: false,
    })
  },
  delay_submit:function(){
    setTimeout(this.time_delay(), 60000)
  },

https://img1.mukewang.com/5abb91df0001f5d407900189.jpg

  delay_submit:function(){
    let that = this
    function time_delay() {
      that.setData({
        need_delay: false,
      })
    }
    setTimeout(time_delay(), 60000)
  },

https://img4.mukewang.com/5abb92890001717708080206.jpg

无无法师
浏览 1984回答 1
1回答

Gotta

应该要这样操作吧?setTimeout(BB, 60000) setTimeout(this.time_delay, 60000)setTimeout 第一个参数传入一个function ,但 setTimeout(BB(), 60000) 这样写是直接执行BB并把BB执行后的结果放进setTimeout里,当然就报错咯
打开App,查看更多内容
随时随地看视频慕课网APP