.then () против aysnc и ждут транспортира - PullRequest
0 голосов
/ 28 ноября 2018

Я новичок в транспортире и читаю цепочку обещаний с помощью функции .then ().

Например

 this.getContent = function(content) {
    return element.all(by.repeater('item in list')).filter(function(elem) {
        return elem.getText().then(function(text) {
            return text;
        });
    }).first();
};

Что отлично работает, чтобы получить текст i 'ищуТем не менее, как я могу реструктурировать это, чтобы использовать async и ждать вместо функции .then ()?

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

Заранее спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

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

this.getContent = function(content) {
  return element.all(by.repeater('item in list')).filter(async function(elem) {
    return await elem.getText();
  }).first();
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...