javascript - 如何打破柏树块内的循环?
问题描述
for (let i = 0; i < 14; i++) {
cy.get('div .fc-left h2').then(($btn) => {
if ($btn[0].innerText === fullDate) {
break
} else {
cy.get('button[aria-label="next"]').click()
}
})
}
我的代码是这样的。当我运行它时,Unsyntactic break
会显示错误。它没有break
解决方案
您可以使用等待
async function shouldNext(val) {
//const $btn = await cy.get('div .fc-left h2')
const $btn = await fakeCyGet(val.value)
if ($btn.innerText === 'fullDate') return Promise.resolve({
done: true
});
//cy.get('button[aria-label="next"]').click()
return val
}
async function fakeCyGet(i) {
if (i == 5) return {
innerText: "fullDate"
}
return {
innerText: "fakeData"
}
}
const asyncIterable = {
[Symbol.asyncIterator]() {
return {
i: 0,
next() {
if (this.i < 14) {
return Promise.resolve(shouldNext({
value: this.i++,
done: false
}));
}
return Promise.resolve({
done: true
});
}
};
}
};
(async function() {
for await (let num of asyncIterable) {
console.log(num);
}
})();
虽然我的示例有一些模拟,但这是解决问题的方法。
推荐阅读
- javascript - 如何使用 react-grid-layout 创建动态拖放布局
- angular - Angular 单元测试功能
- c# - 如何在 Visual Studio 中为整个解决方案创建配置文件(json)?
- arrays - 如何通过排除特定项目来循环数组?
- python - Juypter Notebook:将输出保存为 pdf
- sql - 在 BigQuery 中交叉应用历史日期范围
- powerbi - 加入 Power BI 数据模型中的主键是否会对性能或 DAX 产生影响?
- complexity-theory - 寻找算法时间复杂度的算法
- mysql - gorm 是否支持同一字段上的多个索引?
- javascript - JSON 数据错误,无法读取未定义的属性