|
[BUG]
关于api.addEventListener和api.sendEvent的问题
[复制链接]
本帖最后由 zhoubin 于 2016-6-26 15:29 编辑
经过将近一天的测试,我觉得以下问题是个bug:首先描述下问题上下文:
1:有两个窗口,分别是A和B,B页面是经过A页面的按钮打开的
2:B页面是一个注册页面
问题1:在A页面的apiready中写测试代码:
- api.addEventListener({
- name:'reloadGroup'
- },function(ret,err){
- console.log(2)
- reloadGroup();
- });
-
- setTimeout(function(){
- console.log('trigger:reloadGroup')
- api.sendEvent({
- name:'reloadGroup'
- })
- },1000)
复制代码
意思是:注册reloadGroup事件,然后1秒后触发这个事件,这段代码事件能够被触发的几率,大概是90%。有的时候,sendEvent已经执行了,但是事件没有触发。进过测试,上面这段代码,如果在apiready事件完成后再执行(用setTimeout,使得addEventListener在apiready执行完成后再执行),事件触发的几率是100%
问题2:在B页面触发A页面的事件reloadGroup,完全可以执行,然后点击B页面中的输入框,就会出现输入法,然后再退出输入法,再次出发A页面的事件reloadGroup,A页面就不能再接收到这个事件了。我保证B页面的输入框没有任何事件。也没有出现任何错误。
再补充一个情况:打开B页面,可以触发A页面的reloadGroup事件,然后关闭B页面,重新打开,再次出发reloadGroup,A页面就不能再收到这个事件了
再次补充:在真机调试和云编译下,都存在这样的问题
|
|