синхронно выполнить код
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, время: 14:19. |