javascript - 按索引显示的 JavaScript 数组不起作用
问题描述
我有一个数组,我想逐项显示它以检查金额。我将 console.log 提供给数组的那一刻,它向我展示了元素,当我尝试将它显示为索引时,它给了我未定义的信息。
let localFinishPrice = []
cy.get(':nth-child(1) > :nth-child(2) > .bold').invoke("text").then((text)=>{
let localPrice = parseFloat(text.substring(1))
localFinishPrice.push(localPrice)
})
cy.get('#totals_table > tbody > :nth-child(2) > :nth-child(2)').invoke("text").then((text)=>{
let localPrice = parseFloat(text.substring(1))
localFinishPrice.push(localPrice)
})
cy.get(':nth-child(3) > :nth-child(2) > .bold').invoke("text").then((text) => {
let localPrice = parseFloat(text.substring(1))
localFinishPrice.push(localPrice)
})
if(localFinishPrice[0] + localFinishPrice[1] == localFinishPrice[2])
cy.log("Finish price is ok")
else
cy.log("Finish price isn't ok")
解决方案
问题是所有cy.get()
命令都排队,并且if
在队列开始运行之前语句运行得太快。
您必须使用.then()
正确排序操作
let localFinishPrice = []
cy.get(':nth-child(1) > :nth-child(2) > .bold') // queued 1st
.invoke("text")
.then(text => {
let localPrice = parseFloat(text.substring(1))
localFinishPrice.push(localPrice)
})
cy.get('#totals_table > tbody > :nth-child(2) > :nth-child(2)') // queued 2nd
.invoke("text")
.then(text => {
let localPrice = parseFloat(text.substring(1))
localFinishPrice.push(localPrice)
})
cy.get(':nth-child(3) > :nth-child(2) > .bold') // queued 3rd
.invoke("text")
.then(text => {
let localPrice = parseFloat(text.substring(1))
localFinishPrice.push(localPrice)
})
.then(() => { // queued last
if(localFinishPrice[0] + localFinishPrice[1] == localFinishPrice[2])
cy.log("Finish price is ok")
else
cy.log("Finish price isn't ok")
})
推荐阅读
- python - 为什么我在 django 3.2 中没有出现反向匹配错误?
- java - 为什么 Java Message Digest 使用术语更新而不是添加?
- powershell - 我将如何运行 .exe 在一个位置运行而脚本在另一个位置运行的脚本?
- javascript - WordPress Elementor Pro 仅制作导航菜单小部件项目下拉菜单
- google-workspace - 如何允许代码从其他域运行
- git - 如何将 git clone 恢复到上次推送到 OM 时的状态?
- python - 有没有办法更快地完成这些步骤集 - 更少的步骤以及如何根据字符串值重新组织列表字符串?
- asp.net-mvc - appcmd 无法添加类型为“add”且唯一键属性“文件扩展名”设置为“.txt”的重复集合条目
- android - xamarin 连接到蓝牙 ble。应用程序可能在其主线程上做了太多工作
- amazon-web-services - AWS MWAA Cloudformation 堆栈创建失败并出现 NotStabilized