Javascript中的异步循环

Javascript中的异步循环,javascript,for-loop,asynchronous,Javascript,For Loop,Asynchronous,我试图迭代并按顺序打印Javascript中的一个数组,该数组包含我在对网站进行web抓取时获得的2个事件的标题,但它无序打印。我知道Javascript是异步的,但我是这个异步世界的新手。如何为实现循环,以便按顺序打印阵列并提供自定义信息 agent.add(“…”)类似于console.log(“…”)。我正在用DialogFlow和NodeJs 8做一个聊天机器人,但现在这并不重要。我在返回中使用console.log()只是为了调试 我试了下一个: async function prin

我试图迭代并按顺序打印Javascript中的一个数组,该数组包含我在对网站进行web抓取时获得的2个事件的标题,但它无序打印。我知道Javascript是异步的,但我是这个异步世界的新手。如何为实现循环,以便按顺序打印阵列并提供自定义信息

agent.add(“…”)
类似于
console.log(“…”)
。我正在用DialogFlow和NodeJs 8做一个聊天机器人,但现在这并不重要。我在返回中使用console.log()只是为了调试

我试了下一个:

async function printEvent(event){
    agent.add(event)
}

async function runLoop(eventsTitles){
    for (let i = 0; i<eventsTitles.length; i++){
       aux = await printEvent(eventsTitles[i])
    }
}    
我希望总是打印出活动标题#1和活动标题#2。大概是这样的:

events titles.forEach((index,event) => {
    agent.add(`${index}. ${event}`) // remember this is like console.log(`${index}. ${event}`)
})

谢谢你的帮助和解释

这里没有异步情况,但如果您仍然面临困难,请使用此循环

for(让index=0;index
${index}.${element}

}

可能重复的
eventsTitles.forEach((事件,索引)=>{
jquery做错了。但是他们做错了太久,以至于他们不能再改变这个。除此之外,你可以做
var eventsTitles=$('.product title').toArray().map(item=>item.textContent);
@JonasHøgh不确定这是否准确dupe@JonasHøgh我看不出这两个问题有什么关系。因为两者都包含异步和循环?@Thomas Hi,但问题不在于数组。当我打印数组时,它看起来是有序的。问题是当我在for循环中迭代它时。即使我尝试使用wait,但它说我不能使用在循环中等待是的在阅读了你的答案后,我感觉很好,很糟糕,因为我意识到这是真的,没有异步的情况。我正在构建一个聊天机器人,所以我从另一个控制台检查了答案,问题似乎是电报机器人无序显示信息。谷歌助手确实显示了序列化的信息。非常感谢!我使用了y我们的循环,它的工作非常完美
events titles.forEach((index,event) => {
    agent.add(`${index}. ${event}`) // remember this is like console.log(`${index}. ${event}`)
})