Javascript 环路问题量角器

Javascript 环路问题量角器,javascript,jasmine,protractor,Javascript,Jasmine,Protractor,我对量角器javascript中的for循环有一个小问题。 当我在for循环中运行for循环时。我首先获取第一个循环的所有console.log,然后获取第二个循环的所有日志 现在,当我运行测试时,我得到 第一圈0 第一圈1 第一环路2 第二圈0 第二环路1 但这不是我所期望的。我想要 第一圈0 第二圈0 第二环路1 第一圈1 element.all(by.css('.settings__group .settings__sub-title')).count().then(funct

我对量角器javascript中的for循环有一个小问题。 当我在for循环中运行for循环时。我首先获取第一个循环的所有console.log,然后获取第二个循环的所有日志

现在,当我运行测试时,我得到

第一圈0

第一圈1

第一环路2

第二圈0

第二环路1

但这不是我所期望的。我想要 第一圈0

第二圈0

第二环路1

第一圈1

     element.all(by.css('.settings__group .settings__sub-title')).count().then(function(count)
            {
                for(var j = 0; j < count;j++)
                {
                      console.log('first loop ' + j);
                      browser.sleep(2000);
                element.all(by.className('settings__group')).get(j).all(by.className('settings__item')).count().then(function (c) {


                for (let i = 0; i < c; i++) {
                        console.log('second loop ' + i);
                    browser.sleep(1000);
                    element.all(by.className('settings__group')).get(j).all(by.className('settings__item')).get(i).click();
                    browser.sleep(1000);
                    element(by.id('crValidationButton')).isPresent().then(function (present) {
                        if (present) {
                            element(by.id('crValidationButton')).click();
                            browser.sleep(2000);
                            v.validationCase();
                            browser.sleep(2000);
                        }
                        else {
                            browser.sleep(2000);
                            v.validationCase();
                            browser.sleep(2000);
                        }
                    });
                    browser.sleep(1500);
                }
            });
                }
            });
element.all(按.css('.settings\uu group.settings\uuu sub-title')).count()。然后(函数(count)
{
对于(var j=0;j
该问题与量角器内的承诺有关

我不太喜欢打圈

我通常做的是使用递归函数

...function(count) {
    firstLoop(0, count);
});


function firstLoop(j, count) {
    if (j < count) {
        ... {
            secondLoop(0, c);
        }
        firstLoop(j + 1, count);
    }
}


function secondLoop(i, c) {
    if (i < c) {
        ... 
        secondLoop(i + 1, c);
    }
}
…函数(计数){
第一个循环(0,计数);
});
函数firstLoop(j,count){
如果(j