我有一个 li 元素列表。每个 li 元素都包含一些文本段落。
要查看元素内容,我的应用应点击此 li 元素,然后出现弹出窗口打开,应用程序将从弹出窗口中检索文本,然后使用 $。ajax 将其发布到服务器。
为此,我正在使用每种方法来逐一遍历所有 li 元素。 我的目的是找到每次等待的jquery或javascript方法,以便从li元素中检索信息,然后在使用ajax发布所有数据时,移至下一个li等。
listItem.each(function(index) {
if (myCondition) {
console.log('item with index: ' + index + ' is skipped');
} else {
listItem.click();
setTimeout(function() { // Wait 1 second until the popup is opended
popupWindow.animate({
scrollTop: $(this).height()
}, $(this).height() * 10, getData);
function getData() {
// ...
// ...
postData(data);
}
}, 1000);
}
});
function postData(data) {
$.ajax({
type: 'POST',
// ...
// ...
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="myList">
<li class="list-item">.......</li>
<li class="list-item">.......</li>
<li class="list-item">.......</li>
<!-- ...... -->
</ul>
答案 0 :(得分:0)
每个await
呼叫都可以$.ajax
。可以使用listItem.each
循环,而不是for
(它将循环迭代 ),该循环可以轻松实现 serial 异步。请注意,您必须在async
函数内部才能使用await
。例如:
(async () => {
for (const li of $('.list-item')) {
await $.ajax( ... )
}
})();
答案 1 :(得分:0)
您可以递归地调用处理一个项目并在ajax promise resolve中传递<IfModule mod_authz_core.c>
Require all denied
的函数,而不是循环
next()