清除延时任务的指导
- 当前 Bug 的表现(可附上截图)
项目内设置一个延时任务进行网络请求,根据请求结果判断跳转不同页面,,在onUnload中进行了清除,此时关闭当前页面,发现任务依旧执行,返回页面一段时间后跳到其他页面去。初步判断是网络任务异步导致该bug。
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
页面写那个延时任务,延时时间一样,前一个是关闭页面,后一个跳新的页面
/**
* 生命周期函数–监听页面加载
*/
onLoad: function (options) {
setTimeout(() => {
wx.navigateBack({
})
}, 1000)
this.timer = setTimeout(()=>{
wx.navigateTo({
url: ‘/index1/index1’,
})
},1000)
},
/**
* 生命周期函数–监听页面卸载
*/
onUnload: function () {
clearTimeout(this.timer)
}