函数内部的函数用于循环错误 [英] function inside for loop errors out in protractor
本文介绍了函数内部的函数用于循环错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
数组长度为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屋!
查看全文