阻止在极短的时间重复执行某个函数

简介:
复制代码
/**
 * 阻止在极短的时间重复执行某个函数中的代码
 * @author wanlh
 *
 */
public class ReEventsController {
    
    private boolean isRepeatFlag = false;
    private MyRunnable mMyRunnable;
    
    private class MyRunnable implements Runnable{

        @Override
        public void run() {
            // TODO Auto-generated method stub
            isRepeatFlag = false;
        }
    }
    
    /**
     * 在time时间之内是否重复,阻止代码往下执行
     * @param view
     * @param time
     * @return
     */
    public boolean isRepeat(View view, int time){
        if(mMyRunnable == null)
            mMyRunnable = new MyRunnable();
        if(isRepeatFlag){
            //view.removeCallbacks(mMyRunnable);
            //view.postDelayed(mMyRunnable, time);//2500毫秒恢复,300毫秒之内不允许重复请求数据
            return true;
        }else{
            isRepeatFlag = true;
            view.removeCallbacks(mMyRunnable);
            view.postDelayed(mMyRunnable, time);//2500毫秒恢复,300毫秒之内不允许重复请求数据
        }
        return false;
    }
}
复制代码

 view是WebView.



本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5563046.html,如需转载请自行联系原作者

相关文章
|
6月前
|
JavaScript
弹框下次触发时还保留上次的触发条件
弹框下次触发时还保留上次的触发条件
|
6月前
递归执行的时候使用一次性还是永久性定时器?
递归执行的时候使用一次性还是永久性定时器?
|
Serverless
函数计算在执行请求的过程中遇到了意外的错误
函数计算在执行请求的过程中遇到了意外的错误
93 1
|
5月前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指那些不会立即执行完毕,而是会在未来的某个时间点(比如某个操作完成后,或者某个事件触发后)才完成其执行的函数
【6月更文挑战第15天】JavaScript中的异步函数用于处理非同步任务,如网络请求或定时操作。它们使用回调、Promise或async/await。
52 7
|
Go 数据库
sync.Once-保证运行期间的某段代码只会执行一次
sync.Once-保证运行期间的某段代码只会执行一次
80 0
|
6月前
|
Python
改变循环执行的状态
在编程中,循环是常用的控制结构之一,它允许代码块在一定条件下重复执行。然而,有时候我们可能需要在循环执行过程中改变其状态,比如提前终止循环或跳过当前迭代进入下一次迭代。Python提供了break和continue语句,帮助我们改变循环的执行状态。下面,我们将详细介绍如何使用这两个语句来改变循环的执行状态,并附上示例代码。
56 0
|
6月前
|
JSON 前端开发 算法
2715. 执行可取消的延迟函数
2715. 执行可取消的延迟函数
41 0
|
6月前
|
关系型数据库 MySQL 数据库
错误处理程序和错误触发条件
错误处理程序和错误触发条件。
54 0
|
消息中间件 数据采集 Kafka
每次join之后没有正确处理数据的重复或缺失情况
每次join之后没有正确处理数据的重复或缺失情况
122 1
|
设计模式 消息中间件 JavaScript
干掉 “重复代码”,这三种方式绝了!
干掉 “重复代码”,这三种方式绝了!
36960 2
干掉 “重复代码”,这三种方式绝了!