我使用异步等待正确的方式吗?在TypeScript中

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

我不确定我是否在我的TypeScript和Protractor代码中使用异步/等待正确的方法。如果你看到下面的代码,规范说等待并调用页面对象,而该对象又是async / await。页面对象调用另一个方法,它再次是async / await。这是正确的实施吗?有没有最佳做法?我觉得我正在使用async / await到处。

规格:

await login.loginTomySiteTools();

页面对象:

async loginTomySiteTools(): Promise<void> {
    await this.helper.enterText(this.email, this.mySuperApp.userID);
    await this.helper.click(this.btnNext);
}

帮手:

async enterText(element: WebElement, textToEnter: string): Promise<void> {
    await browser.sleep(1000);
    await element.sendKeys(textToEnter);
}
typescript async-await protractor
1个回答
1
投票

看起来很奇怪,从我的理解来看,你正在以正确的方式使用它。所有浏览器操作都包含Promise(需要等待),然后使用Page Object Model,我们在页面对象中声明的所有函数(通常包含浏览器操作)都需要等待,这正是Protractor的本质。我们最终为同样的行动做了很多等待。

我实际上不久前问了一个similar question,我不确定这些问题是否足够相似,不能标记为重复,所以我暂时不会标记它。

就最佳实践而言,我认为您采取的方法很好。

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