javascript - 我的应用程序中有一个以表格格式显示的请求编号(字符串)列表,它有分页,所以有多个页面目录
问题描述
我有一个 for 循环来迭代页面并使用每个块来迭代该页面中表中的请求号。当表中的请求号与我的请求匹配时,它应该选择该请求并退出循环。我被困在这里,因为我无法打破循环。
M_SelectRequestNoThen(request) {
let exit = true;
let i;
cy.wait(500);
this.E_TotalPages()
.invoke("text")
.then((text) => {
let total = text;
cy.log("totalpages", total);
for (i = 0; i < total; i++) {
cy.log("i inside while", i);
this.E_RequestRows().each(($el, $index) => {
cy.wrap($el)
.invoke("text")
.then((text) => {
cy.log("text", text);
if (text.trim().includes(request)) {
this.E_RequestSelect(request).click();
exit = false;
}
});
});
i++;
if (exit) {
this.E_NextButton().click();
} else {
break;
}
}
});
}
因为我不能在 then 块中使用 break;使用布尔退出但即使在 then 块之外也没有得到更新的值。因此,即使找到我的请求,它也会导航到下一页。那么在'if(text.trim().includes(request))'条件得到满足后,我怎样才能打破我的for循环?
解决方案
我的情况是我有 4 页列表。如果在第一页中找不到我的字符串,则必须单击下一页。以这种方式,它必须迭代列表和页面,直到找到字符串然后退出。如果它的单页方案我的每个块都有效。如果在整个第一页中没有找到字符串,我必须在每个块之外检查以进入下一页或中断循环。
推荐阅读
- python - 为什么发现两个相同的字符串不相等?
- python - 如何使用cupy循环numpy ndarray?真的会提高执行时间吗?
- javascript - 未捕获的 ReferenceError:openModal 未在 js 活动管理员中定义
- javascript - 如何在网络应用程序上打开手机上的相机?
- javascript - 基于动态值 es6 的解构
- javascript - 如何按各自的组号对数组中的对象进行分组
- css - 分层不透明元素共同打造新色彩
- ios - 无法在一个视图控制器上使用两个 UIPickerView
- javascript - 如何通过 ajax 将表单发送到我的 php 页面
- javascript - 如何在不需要 ID 的情况下记录嵌套的输入元素值?