最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用node和nightwatch for loop时如何修复潜在的内存泄漏?

运维笔记admin12浏览0评论

使用node和nightwatch for loop时如何修复潜在的内存泄漏?

使用node和nightwatch for loop时如何修复潜在的内存泄漏?

我试图循环遍历网站中的元素数组并且for循环工作正常,除了这个错误我得到MaxListenersExceededWarning:检测到可能的EventEmitter内存泄漏。添加了11个错误监听器。使用emitter.setMaxListeners()来增加限制。

我试图添加事件模块并使用事件emitter.setMaxListeners()方法,我仍然得到此错误。我甚至把它放在for循环中以保持领先于所有其他甚至是听众。我控制台。记录了我的最大听众数量,无法弄清楚为什么我仍然得到这个。

for(let i = 1; i <= 20; i++) {

        //console.log(emmiter)
        browser
            .element('css selector', `mat-nav-list > a:nth-child(${i})`, 
function(result) {
                if(result.value && result.value.ELEMENT) {
                    browser.isVisible(`mat-nav-list > a:nth-child(${i})`, 
function(result) {
                        if(result.value === true) {

emmiter.setMaxListeners(emmiter.getMaxListeners() + 1)
                            console.log(emmiter);
                            browser.click(`mat-nav-list > a:nth-child(${i})`)
                            .pause(2000)
                        }
                    })
                }
            })
            //.pause(2000)

            //.pause(10000)

    }

当我遍历多个元素时,我希望它们可以无错误地循环。在这种情况下,我会在没有内存泄漏警告的情况下循环。目前,当我进入这个for循环时我收到警告,它似乎发生在我的一个if语句中。

回答如下:

它看起来像是最新版Nightwatch的新控制台输出功能。

我在1.0.18遇到了这个问题。

我最近回滚到夜视仪版本0.9.21,我没有得到内存泄漏错误。我的猜测这是这个版本的夜视仪的新功能,但看到这些错误很烦人。

发布评论

评论列表(0)

  1. 暂无评论