синхронно выполнить код
var q = document.getElementsByClassName('message__content'); var inputmessage = document.getElementsByClassName('messenger-tools__input'); var sendmessage = document.getElementsByClassName('messenger-tools__btn js-send-message'); var selectuser = document.getElementsByClassName('b-link im_user'); if (((q[q.length - 1].parentNode.className).indexOf('message--in') > -1) && q.length < 10) { for (var i = 0; i < q.length; i++) { if (q[i].innerText={{данные из внешнего ресурса}}) { inputmessage[0].innerText = {{данные из внешнего ресурса}} } } } sendmessage[0].click(); использую платформу в которую можно внедрять жабаскрипт проблема в том что цикл фор выполняется быстро и нужные {{данные из внешнего ресурса}} не успевают подтянутся. нужно выполнить сихнронно |
Ну так подождите пока данные подгрузятся и после выполняйте скрипт.
В строке 8, вероятно, ошибка: производится присвоение значения переменной, не проверка. |
если тут promise то как его вставить?
|
[quote=Nexus;491070]Ну так подождите пока данные подгрузятся и после выполняйте скрипт.
если тут promise то как его вставить? |
денис77447327, смотря как подгружаются внешние данные.
|
<script> asyncLoop = async () => { for (var i = 0; i < 10; i++) { var formData = new FormData() formData.append('id', i) var r = await fetch('./data.php', { method: 'post', body: formData }) var t = await r.text() ;//.json() console.log(t) } } asyncLoop() </script> Можно и Promise.all() <script> asyncPromiseAll = async () => { requests = [] for (var i = 0; i < 3; i++) { var formData = new FormData() formData.append('id', i) requests.push(fetch('./data.php', { method: 'post', body: formData }).then(r => r.text())) } let obj = await Promise.all(requests) console.log(obj) } asyncPromiseAll() </script> а вообще это неправильно :) можно также в цикле вызывать fetch('url').then(r => r.json).then(r => { //и здесь апдейтить ... inputmessage[0].innerText = r }) |
классный ответ но я ничего не понял
|
Цитата:
|
денис77447327, к js эти данные как попадают?
Асинхронным запросом самим js или подключением скрипта через тег script? |
все как в коде выше. платформа куда встраивается этот код понимает что хочет от нее js и дает ему это
без всяких тэгов и запросов. вставляется в спец.поле |
Часовой пояс GMT +3, время: 12:53. |