Как получить значение переменной из промиса?(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, время: 07:15. |