当前位置: 首页 > 知识库问答 >
问题:

获取值从setTimout中的一个为每个

陆承宣
2023-03-14

我现在花了几个小时在这里阅读这个问题的解决方案,就像这样:从setTimeout获取返回值

但是我找不到任何解决问题的方法来获取removeCount值。我还试图添加一个promise,但我不知道如何使用增量。

async function removeNeedlessNotifications(mutations) {
    const getResult = async () => {
        let removeCount = 0;
        mutations.forEach((v) =>
            v.addedNodes.forEach((v, i) =>
                setTimeout(() => {
                    if (notificationFilter(v)) {
                        v.querySelector("div.activity-remove.js-remove").click();
                        removeCount++;
                    }
                }, i * 100)
            )
        );
        return removeCount;
    };

    return await getResult();
}

共有1个答案

公孙霖
2023-03-14

使用两个for循环,这样你就可以在里面等待,它变得微不足道:

async function removeNeedlessNotifications(mutations) {
    let removeCount = 0;
    for (const mutation of mutations) {
        for (const node of mutation.addedNodes) {
            await new Promise(r => setTimeout(r, 100));
            if (notificationFilter(node)) {
                node.querySelector("div.activity-remove.js-remove").click();
                removeCount++;
            }
        }
    }
    return removeCount;
}

这将返回解析为单击的div数的promise。

 类似资料:
  • 问题内容: 所以我查了一下,这个问题非常相似,但是它缺少一个关键点:SQL Server计算表的每一列中不同值的数量 因此,在这个问题中,他们希望每列的计数都不同。我想要做的是获取表中每个列的每个不同值的计数(而我正在为特定数据库中的所有表执行此操作,这就是为什么我要尝试尽可能地自动化这一点的原因尽可能)。当前,我的代码看起来像这样,我必须为每一列运行: 理想情况下,我的输出应如下所示: 以此类推

  • 问题内容: 我有一张有两列的table。 我希望列“ num”显示每个重复项的增量计数器: 除了mySQL查询,是否可以在没有任何其他脚本的情况下完成此操作? 问题答案: 不幸的是,MySQL没有您需要的窗口功能。因此,您将必须使用以下内容: 最终查询 参见带有演示的SQL Fiddle 解释: 首先,内部选择,这会将模拟应用于表中的所有记录(请参阅带有演示的SQL Fiddle ): 查询的第二

  • 问题内容: 我有一个示例数据框显示如下。对于每一行,我想先检查c1,如果它不为null,则检查c2。通过这种方式,找到第一个非空列并将该值存储到列结果中。 我现在正在使用这种方式。但是我想知道是否有更好的方法。(列名没有任何模式,这只是示例) 当有很多列时,此方法看起来不好。 问题答案: 首先使用回填s,然后通过以下方式选择第一列: 要么: 性能 :

  • 我试图计算可能的成对数,这可以通过从两个集合中获取值来实现。没有人停下来Rest。我还尝试使用JavaSet实现它。但我陷入了逻辑,如何计算这种可能的组合。 问题示例: 这里,可能的对组合是 [0,2] , [0,3] , [1,2] , [1,3] , [4,2] , [4,3] 代码如下: 输入可能在某个级别上有所不同,如下所示 这里,可能的对组合是[0,1]、[0,3]、[2,1]、[2,3

  • 例如,从下面的代码 这只是一个示例数据集,我有一个包含6000行的数据框,我想找到每列的第一个和最后一个值,其中我还有作为值。我也不知道我的第一个值或最后一个值的索引。 我试过了 很少有人来自Link1,Link2,但没有任何成功。我还想得到第一个元素,而不是最小值。

  • 问题内容: 我正在尝试从select语句返回一个值。它唯一的一个值,因为我要返回的值来自主键列。 SQL语句是 我获取价值的方法如下: 我也有方法。 这是即时通讯用来调用该方法的内容: 上面的代码是为 现在,因为我得到一个“ ” ..我不知道这是怎么回事..但是我假设ResultSet在这里是错误的选择。 我的问题是..我在那可以使用什么呢? 任何关于我做错了什么的帮助或线索都将受到赞赏。 问题答