Как получить значение переменной из промиса?(z)
Добрый день!
Пытаюсь разобраться с промисами, и конечно время от времени бывают проблемы. Пробую на Селениуме +nodeJS. Прочитал массу примеров, но вот уткнулся в простейшую вещь и не могу сдвинуться с места. Нужно получать значения с двух разных страниц и сравнивать, а вот как вытащить значения для этого?? Как получить и использовать 'z' вне промиса? PS. или вообще не использовать промисы в данном случае:dance:
driver.findElements(By.css("div#box-campaigns.box s.regular-price"))
.then(result => result.map(z => z.getCssValue(["color"])))
.then(res =>Promise.all(res)
.then(z => console.log(z)) );
console.log(z); // уже не работает
|
mebius, потому что промисы работают асинхронно.
|
у вас в res уже должен быть массив и промис там не нужен, здесь нужен async/await вот как тут https://seleniumhq.github.io/seleniu...pi/javascript/
или понять как работает callback ) |
Вложений: 1
mebius, вот так примерно выглядит распараллеливание.:)
Вложение 3989 Надеюсь так нагляднее станет понятна твоя проблема.) P.S. Асинхронность в js на самом деле лишь эмуляция параллельности, и выполняется в одном потоке, но это отдельная история, на суть в обычной жизни не влияющая. |
Цитата:
Надеюсь получится переписать по-новому. Хорошо бы конечно увидеть Ваш вариант реализации и главное, будет ли искомый результат с возвратом значения? |
| Часовой пояс GMT +3, время: 12:05. |