如果回调函数没处理完,又产生了触发该回调函数的事件,怎么处理?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果回调函数没处理完,又产生了触发该回调函数的事件,怎么处理?相关的知识,希望对你有一定的参考价值。
1、首先如果是单线程编程的话,只有递归才可能产生这种情况(当然修改返回地址也可能,这种可能是炫耀编程水平用的)。这样的话看你的需要了,递归每个过程都有自己的栈,数据不会出什么问题,当然不是死递归。2、如果是多线程编程的话,如果这种并发不是想要的,可以使用消息机制,让回调函数调用完毕发送一个message给主线程,主线程再调度其它线程。 参考技术A 一般情况下不需要额外处理,除非后一次的函数调用依赖于前一次的处理结果,这样的话应该考虑一下设计是否合理。 参考技术B 如果回调函数不是重用的,建议采用信号量保护临界资源。
uni-app防抖和节流
参考技术A 所谓防抖,就是指触发事件后,就是把触发非常频繁的事件合并成一次去执行。即在指定时间内只执行一次 回调函数 ,如果在指定的时间内又触发了该事件,则回调函数的执行时间会基于此刻重新开始计算。所谓节流,是指频繁触发事件时,只会在指定的时间段内执行事件回调,即触发事件间隔大于等于指定的时间才会执行回调函数。
具体使用:
以上是关于如果回调函数没处理完,又产生了触发该回调函数的事件,怎么处理?的主要内容,如果未能解决你的问题,请参考以下文章