如何使用jquery在子循环中的Firebase对象中断或退出?

Pol*_*ldo 3 jquery firebase firebase-realtime-database

如何在某个条件后退出Firebase中的对象循环.我尝试使用return false但它不起作用.有人能帮我吗.提前致谢.

这是我的代码:

function checkRoom(room_id,user_id,other_user){


    var  dbRefObject = firebase.database().ref('chat-list');
    //getting all keys 
    dbRefObject.on('child_added', function (snap) {
        if(snap.key == 1){
            //if condition succeed the loop will exit
            return false; //but return false is not working here.
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

car*_*ant 8

要打破快照的forEach迭代,您需要返回true.

forEach方法的action参数是:

将为每个子DataSnapshot调用的函数.回调可以返回true取消进一步枚举.

请注意,您可以通过返回任何truthy值来突破迭代 - 而不仅仅是true.

  • 别担心.请注意,如果您使用箭头函数,任何truthy值将突破迭代的事实可能会导致有趣的行为.例如,`snapshot.forEach(item => items.push(item))`将在第一次推送后中断.你需要使用`snapshot.forEach(item => {items.push(item);})`.只是需要注意的事情. (2认同)