Generator.next不是函数

问题描述 投票:0回答:2

有人可以告诉我为什么会出现错误:generator.next不是函数我正在使用webdriverIO框架,并尝试计算与某些类相对应的可见元素的数量。

const generator = function* (){
            yield  $$('.class1')
            yield  $$('.class2')
            yield  $$('.class3')
            yield  $$('.class4')
            return "Done"
            }
            var N=0; 
            const  getElementObject=null;
            do {
                getElementObject = generator.next()
                for (let i =0;i< getElementObject.value.length; i++)
                     {
                         if (getElementObject.value.isVisible()==true)
                                      N++
                     }
              }while (getElementObject.value=="Done");
javascript generator webdriver-io
2个回答
0
投票

您只能在迭代器上调用.next()

async function* generator(){}

generator.next() // generator.next is not a function

const iterator = generator()

iterator.next() // ok

0
投票

谢谢你们提供的有效解决方案。

const generator = function* (){
        yield  $$('.class1')
        yield  $$('.class2')
        yield  $$('.class3')
        yield  $$('.class4')
        }
        let N=0; 
        for (let collection of generator())
            for (let element of collection)
                     if (element.isDisplayed()==true)
                                  N++
          console.log(`theResultIs ${chalk.green(N)}`)
© www.soinside.com 2019 - 2024. All rights reserved.