函数内部的函数用于循环错误 [英] function inside for loop errors out in protractor

查看:64
本文介绍了函数内部的函数用于循环错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

数组长度为4,当我运行循环3时,它运行正常,没有任何错误。但是,当我运行for循环4次时,它会出错。

Array length is 4,when i ran the loop for 3, it runs fine without any errors. But when i run the for loop for 4 times it errors out.

for(var userI=0;userI<userArray.length;userI++) {

    var userEmail = userArray[userI].UserEmail;
    var userFName = userArray[userI].FirstName;
    var userMName = userArray[userI].MiddleName;
    var userLName = userArray[userI].LastName;
    //Check for the user and create the user if the user is not created.
    (function (uEmail,uFName,uMName,uLName) {
        logger.info("FirstName inside the function::"+tFName);
        //Check and create user
        queryUserEmail(uEmail).then(function (checkFlag) {
            if (checkFlag === true) {
                //User already Exists, Log it
                logger.info('User '+uEmail+' already Existed');
            } else {
                CreateClassElements.click();
                //Now create user
                createUserPage.createUser(uEmail,uFName,uMName,uLName);
            };
            //Clear the element
            emailQueryElement.clear();
        });
    }(userEmail,userFName,userMName,userLName));
};

当我在没有 queryUserEmail 功能的情况下运行循环时,它运行正常4时间

When i run the loop without the queryUserEmail function it runs fine for 4 times

for(var userI=0;userI<userArray.length;userI++) {

    var userEmail = userArray[userI].UserEmail;
    var userFName = userArray[userI].FirstName;
    var userMName = userArray[userI].MiddleName;
    var userLName = userArray[userI].LastName;
    //Check for the user and create the user if the user is not created.
    (function (uEmail,uFName,uMName,uLName) {
        logger.info("FirstName inside the function::"+uEmail);   
    }(userEmail,userFName,userMName,userLName));
};

任何建议?

推荐答案

你看起来像是一个错字:

You have what looks to be a typo:

CreateClassElements..click();

也许该段代码仅在第4次迭代时运行。

Perhaps that segment of the code is only running on the 4th iteration.

这篇关于函数内部的函数用于循环错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆