awaitFor

Waits until a condition is true, executing a callback function when the condition is met.

目前為 2023-05-28 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.gf.qytechs.cn/scripts/467272/1196281/awaitFor.js

// ==UserScript==
// @name         awaitFor
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Waits until a condition is true, executing a callback function when the condition is met.
// @author       IgnaV
// @grant        none
// ==/UserScript==

const awaitFor = (condition, callback, maxAttempts=null, awaitTime=500, maxAwaitTime=10000, ...params) => {
    maxAttempts ||= maxAwaitTime / awaitTime;

    let attempts = 0
    const intervalId = setInterval(() => {
        const result = condition();
        if (result) {
            callback(...params);
        }
        attempts++;
        if (attempts >= maxAttempts || result) {
            clearInterval(intervalId);
        }
    }, awaitTime);
};

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址