let timeNum = 0
time = setInterval(() => {
timeNum += 500
if (timeNum > 1500) {
clearInterval(time)
time = null
return false
}
uni.$emit('test', '1-1')
}, 500)
uni.$on('test', (code) => {
})
- 发布:2023-05-15 17:55
- 更新:2023-05-15 18:00
- 阅读:220
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 3.8.2
第三方开发者工具版本号: 1.106
基础库版本号: 2.30.2
项目创建方式: HBuilderX
示例代码:
操作步骤:
let timeNum = 0
time = setInterval(() => {
timeNum += 500
if (timeNum > 1500) {
clearInterval(time)
time = null
return false
}
uni.$emit('test', '1-1')
}, 500)
uni.$on('test', (code) => {
})
let timeNum = 0
time = setInterval(() => {
timeNum += 500
if (timeNum > 1500) {
clearInterval(time)
time = null
return false
}
uni.$emit('test', '1-1')
}, 500)
uni.$on('test', (code) => {
})
预期结果:
不要重复无限收到回调
不要重复无限收到回调
实际结果:
。。
。。
bug描述:
uni.$emit 在一秒内快速触发两次
uni.on 会无限收到回调
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
微信小程序,没能复现你的问题
let timeNum = 0
var time = setInterval(() => {
timeNum += 500
if (timeNum > 1500) {
clearInterval(time)
time = null
return false
}
console.log("a")
uni.$emit('test', '1-1')
}, 1000)
uni.$on('test', (code) => {
console.log(code);
})
1***@qq.com (作者)
定时器1000 改成500
2023-05-15 18:04
FullStack
回复 1***@qq.com: 也不能复现
2023-05-16 14:08