** У меня есть набор, получить класс UserInfo
, который используется для установки и получения переменных. Я хотел установить эти переменные из метода createNewUser()
и вернуть объект UserInfo
.
, когда я пытаюсь вернуть объект, он всегда дает мне нулевые значения. когда я пытался вернуть его из блока then, метод жалуется на отсутствие возвращаемого значения. **
export default class UserInfo {
private accountId!: string;
private firstName!: string;
private lastName!: string;
constructor() {}
/**
* Gets Account Id
*/
public getAccountId(): string {
return this.accountId;
}
/**
* Sets Account Id
*/
public setAccountId(accountId: string) {
this.accountId = accountId;
}
/**
* Gets FirstName
*/
public getFirstName(): string {
return this.firstName;
}
/**
* Sets FirstName
*/
public setFirstName(firstName: string) {
this.firstName = firstName;
}
/**
* Gets LastName
*/
public getLastName(): string {
return this.lastName;
}
/**
* Sets LastName
*/
public setLastName(lastName: string) {
this.lastName = lastName;
}
}
import UserInfo from '../../d/user-info'
export default class QuickPage {
constructor() {}
lastNameText() {
return cy.get('#lastName');
}
firstNameText() {
return cy.get('#firstName');
}
accountIdText() {
return cy.get('#accountId');
}
public createNewUser(): UserInfo {
let userInfo = new UserInfo();
cy.getQuickRegisterUrl().then(url => {
cy.log(url);
cy.visit(url);
this.firstNameText().getText().then((text) => {
userInfo.setFirstName(text);
});
this.lastNameText().getText().then((text) => {
userInfo.setLastName(text);
});
this.accountIdText().getText().then((text) => {
userInfo.setAccountId(text);
});
});
return userInfo;
}
}
Я пытаюсь использовать приведенный выше код, а userinfo всегда возвращает undefined !!
Может кто-нибудь объяснить мне, как написать это в асинхронном формате?