期望的结果:使用动作队列,不同动作之间可以按照顺序执行,防止相互干扰。
实现思路:类似这个子程序https://getquicker.net/subprogram?id=c8398ae9-8390-497d-12a7-08dbbe5b3358,我的想法是提供一个动作队列功能,前一个动作执行完毕再执行下一个动作。
关于配置方式呢,可以让动作本身带有布尔参数【是否队列执行】,或者直接添加一个【执行方式】参数选项:
也可以让执行动作的操作(轮盘、手势等)带有选项,或者两者都带有选项,执行操作的队列选项覆盖动作本身的队列选项(多一个【默认】调用动作本身的设置)。
实际的场景是:我需要在解锁后自动重新登录微信和TIM(被顶掉登录后重登)
但是遇到一个问题,两个动作在解锁时同时执行,激活微信的下线通知窗口点“确定”时候,TIM消息通知窗口也激活执行点击,会直接判定为点击TIM的“修改密码”,然后两个动作都会执行失败(虽然微信点击判断为成功了)。
调整不同的执行延迟可以解决,但是延迟多久是一个问题,另一个问题是必须额外创建另一个任务来整合,而且只能治标(出现问题后创建整合动作)不能治本。
然后搜索排队执行,找到上面那个动作,不过不知道为什么我使用了却没有用(加了延时也没成功):
但是放在一个新的动作里,就可以正常运行:
希望可以评估一下实现这个功能的难度和所需时间决定是否去做,现在也能用只是不那么方便,至于要不要提供队列内容获取/修改功能,那就是更深入的层次了……