我想打破forEach循环。考虑一下:

db.collection('users').get().then(querySnapshot => {
        if (!querySnapshot.empty) {
            querySnapshot.forEach(doc => {
                let data = doc.data()
                if (data.age == 16) {
                    break //this is not working
                }
            })
        }
    }
)

documentation没有提及中断forEach循环

最佳答案

除了直接在QuerySnapshot上使用forEach之外,您还可以迭代其docs属性,它只是一个普通的旧javascript数组。编写一个for循环,您可以根据需要break:

for (var i in querySnapshot.docs) {
    const doc = querySnapshot.docs[i]
    if (make_some_decision_here) {
        break
    }
}

10-08 03:05