Waits until a condition is true, executing a callback function when the condition is met.
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/467272/1235249/awaitFor.js
// ==UserScript==
// @name awaitFor
// @namespace http://tampermonkey.net/
// @version 0.3
// @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();
attempts++;
if (attempts >= maxAttempts || result) {
clearInterval(intervalId);
}
if (result) {
callback(result, ...params);
}
}, awaitTime);
};