Я использую async жду правильный путь?В TypeScript - PullRequest
0 голосов
/ 01 марта 2019

Я не уверен, правильно ли я использую async / await в своем коде TypeScript и Protractor.Если вы видите код ниже, спецификация говорит 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);
}

1 Ответ

0 голосов
/ 03 марта 2019

Как ни странно, насколько я понимаю, вы используете это правильно .В природе Protractor характерно то, что все действия браузера обертываются обещаниями (которые требуют ожидания), а затем в объектной модели страницы все функции, которые мы объявляем в наших объектах страницы (которые часто содержат действия браузера), также будут требовать ожидания.У нас много ожиданий от одного и того же действия.

Я на самом деле задал похожий вопрос не так давно, я не уверен, достаточно ли похожи эти вопросы, чтобы пометить их какдубликаты, поэтому я не буду помечать его сейчас.

С точки зрения передового опыта, я думаю, что подход, который вы используете, подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...