JoLoong 发表于 2024-11-10 23:31:37

运行脚本,UI里面的异步线程会被杀掉

ListenUtil.prototype.startListen = function () {
    logd("开启异步监听")
    //异步执行-私信
    this.threadId = thread.execAsync(() => {
      while (true) {
            if (thread.isCancelled(this.threadId)) {
                logd("线程被取消了,退出循环:",this.threadId);
                break;
            }
            logd("线程执行", this.threadId);
            sleep(5 * 1000);
            logd("Do some thing...");
      }
    });
}



这个方法在ui.js的main方法中调用的


现在问题是一旦启动脚本 ui.start()这个异步线程就会被杀掉

laogui 发表于 2024-11-11 15:32:55

UI 在后台会被销毁回收

JoLoong 发表于 2024-11-11 17:20:22

laogui 发表于 2024-11-11 15:32
UI 在后台会被销毁回收

鬼哥,我后面改成用setInterval,不会出现这样的问题了,但是setInterval会有一个比较难受的问题,当我开发的时候,重新预览项目,上一次预留的interval有时候没有被销毁,导致这次预览,还残留了上一次的interval

laogui 发表于 2024-11-11 20:05:13

JoLoong 发表于 2024-11-11 17:20
鬼哥,我后面改成用setInterval,不会出现这样的问题了,但是setInterval会有一个比较难受的问题,当我开 ...

强停一次就行了
页: [1]
查看完整版本: 运行脚本,UI里面的异步线程会被杀掉