Javascript Array.toString在循环外返回空
我是JavaScript新手,如果这是一个愚蠢的问题或重复,我很抱歉 我有一个数组和循环,在循环中我每次都记录,它将返回以下内容: A1,A1 A2,A1 A2 A3。。。依此类推,直到完成循环 最后,我尝试记录最终的数组值,它返回空值 有什么想法吗Javascript Array.toString在循环外返回空,javascript,arrays,tostring,cypress,Javascript,Arrays,Tostring,Cypress,我是JavaScript新手,如果这是一个愚蠢的问题或重复,我很抱歉 我有一个数组和循环,在循环中我每次都记录,它将返回以下内容: A1,A1 A2,A1 A2 A3。。。依此类推,直到完成循环 最后,我尝试记录最终的数组值,它返回空值 有什么想法吗 var testArray: any = new Array(); var test: any; cy .get('element') .each(function ($el, index) { test=
var testArray: any = new Array();
var test: any;
cy
.get('element')
.each(function ($el, index) {
test= $el.text();
testArray.push(test);
cy.log(testArray.toString())
})
cy.log(testArray.toString())
谢谢您可以使用.then()
;引述:
.then()
的建模方式与JavaScript中承诺的工作方式相同。回调函数返回的内容将成为新的主题,并将流入下一个命令(undefined除外)
试着这样做:
var testArray: any[] = new Array();
cy
.get('element')
.each(($el) => {
testArray.push($el.text());
cy.log(testArray.toString());
).then(() => cy.log(testArray.toString())
});
它是异步的。使用
cy.get().each()。然后(()=>cy.log())
我对cypress不太熟悉,但看起来选择器根本没有返回任何元素,或者.get('element')
是异步的,并且在循环结束之前执行控制台.log
。但是正如我所说的,我不熟悉Cypress,这是一个异步问题。尝试使用.then()方法