无法在GWT中取消重复计时器

Sex*_*ast 4 java gwt timer setinterval

我正在尝试在GWT中安排重复计时器,它将每隔1毫秒运行一次,对特定事件进行轮询,如果发现满意,则执行某些操作并取消计时器.我试过这样做:

final Timer t = new Timer() {
    public void run() {
        if (..condition is true, exit) {
            t.cancel();
            doSomething();
        }
    }
}
t.scheduleRepeating(1);
Run Code Online (Sandbox Code Playgroud)

但是,我收到一条错误消息,例如本地变量t可能尚未初始化.我在回调的onSuccess条款中放入了一段代码RequestBuilder.我如何实现这一目标?

Sur*_*tta 9

在初始化时你无法访问它.

将您的代码更改为

 final Timer fgf = new Timer() {

            @Override
            public void run() {
                  cancel();
                  System.out.println();

            }
        };
Run Code Online (Sandbox Code Playgroud)

  • 或者换句话说:`this`而不是`t`. (3认同)