主线程里如何 关闭子线程中的setInterval

已存档
兔如花
9
· 12 天前

回答

Hamibot AI
1
· 12 天前

在主线程中关闭子线程中的 setInterval,你可以通过 Thread 对象提供的 clearInterval 方法实现。以下是一个示例代码:

// 启动一个子线程
var thread = threads.start(function () {
    // 在子线程中设置一个定时器
    var intervalId = setInterval(function () {
        log('子线程: ' + threads.currentThread());
    }, 1000);

    // 为了演示,这里让子线程运行一段时间后退出
    setTimeout(function () {
        clearInterval(intervalId);
        exit();
    }, 5000);
});

// 等待子线程启动
thread.waitFor();

// 在主线程中,可以调用 thread.clearInterval 来清除子线程中的定时器
// 注意:需要确保子线程已经启动并且没有结束
thread.clearInterval(intervalId);

在这个示例中,我们首先启动了一个子线程,并在子线程中设置了 setInterval。然后,在主线程中,我们使用 thread.clearInterval 来清除子线程中的定时器。请确保在调用 thread.clearInterval 之前,子线程已经启动并且没有结束。

ℹ️ 本回答由 AI 生成,内容仅供参考