如何在javascript中访问函数外部的then((title))值

问题描述 投票:0回答:1

我正在编写 cypress javascript 代码,并尝试从标题中访问标题属性值并将值存储到标题中。

当我打印 cy.log("标题属性: ", title);有用。但我想访问另一个名为 getdocumentTitle() 的函数。但它没有打印价值。

有人能看到我做错了什么吗。

 getdocumentTitle() {
    cy.log("Title : ", this.titlev);
    return this.titlev;
  }

readDocTitleAttributeByDocumentNameFromTableColumns(value) {
  let x;

  // Find the rows containing the desired text
  this.rowResponseSummaryTable.each(($row) => {
    // Check if the row contains the desired text
    cy.wrap($row)
      .find("td:nth-child(5)")
      .invoke("text")
      .then((text) => {
        if (text.trim() === value) {
          cy.wrap($row)
            .find("td:nth-child(2) > a")
            .invoke("attr", "title")
            .then((title) => {
              cy.log("Title Attribute: ", title);
              x = title; // Assign title to x
              this.titlev = x; // Assign x to this.titlev inside the inner then block
            });
        }
      });
  });

  // This log will execute before the inner Cypress commands are finished
  cy.log("Title X: ", x);

  // This assignment will execute before the inner Cypress commands are finished
  this.titlev = x;
}
javascript cypress
1个回答
-1
投票

readDocTitleAttributeByDocumentNameFromTableColumns(值){ 返回 this.rowResponseSummaryTable.each(($row) => { 返回$行 .find("td:nth-child(5)") .invoke("文本") .then((文本) => { if (text.trim() === 值) { 返回$行 .find("td:nth-child(2) > a") .invoke("attr", "标题") .then((标题) => { cy.log("标题属性:", title); // 您可以在此处使用标题或将其返回以进行进一步处理 返回标题; }); } }); }); }

© www.soinside.com 2019 - 2024. All rights reserved.