gpt4 book ai didi

javascript - q 中 'jQuery.active' 的等效行为

转载 作者:行者123 更新时间:2023-12-02 18:46:54 27 4
gpt4 key购买 nike

在我的 c# selenium webdriver 测试中,我偶尔需要使用:

public void WaitForJQuery(TimeSpan timeout)
{
var wait = new WebDriverWait(driver, timeout);
wait.Until(d => (bool)(d as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0"));
}

这将等待 jQuery 调用完成指定的“超时”。我想知道是否有一个可以用于 q.js 库的等效项?

我是一名测试人员,而不是网页设计师,对 q 库的经验很少,浏览它的文档时,我看不到任何可能包含我想要的信息的相关静态属性。

最佳答案

不,Q 独立跟踪每个 promise ,因此它维护的唯一记录是未处理的拒绝(用于错误报告目的),但是构建一些东西并不会太难:

var pending = 0;
function register(operation) {
pending++
return Q(operation)
.finally(function() { pending--; });
}

如果您调用register(promise)每次你创建一个 promise 时,你只需测试是否 pending === 0 就可以得到你想要的结果。

这个register方法还可以用于检查自 then 以来待处理的 jQuery Promise(或具有工作 Q 方法的任何其他类型的 Promise)。会同化他们。

关于javascript - q 中 'jQuery.active' 的等效行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16280704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com