Реагировать на собственный firebase + iOS + Exception 'Не могу использовать queryEndingAtValue: - PullRequest
0 голосов
/ 05 июля 2019

Я получаю исключение 'Не могу использовать queryEndingAtValue: при выполнении кода ниже в iOS. в то время как тот же код работает в Android

const messagesRef = firebase
  .database()
  .ref()
  .child('messages');
let activeChatListener;
function fetchChatMessages(dispatch, chat_code, page, user_data, oldest_message) {
  currMessagesRef = messagesRef.child(chat_code);
  if (page == 1) {
    activeChatListener = currMessagesRef.orderByKey().limitToLast(1);
    dispatch(clearMessages());
    activeChatListener.on('child_added', data => {
      fetchUserData(dispatch, data.val().user, user_data);
      dispatch(appendMessage(createFirebaseMessage(data)));
    });
  } else if (page >= 2) {
    let old_messages = [];
    currMessagesRef
      .orderByKey()
      .endAt(oldest_message)
      .limitToLast(CHAT_PER_PAGE)
      .once('value', snapshot => {
        let old_messages = [];
        snapshot.forEach(function(data) {
          old_messages.unshift(createFirebaseMessage(data));
        });
        dispatch(prependMessages(old_messages.slice(1, old_messages.length)));
      });
  }

1 Ответ

0 голосов
/ 06 июля 2019

Я исправил это. в .endAt(oldest_message) здесь самое старое сообщение получает ноль. Я должен проверить ноль перед выполнением и его работой.

...