ios - 反应本机firebase +iOS +异常'不能使用queryEndingAtValue:
问题描述
我在 iOS 中执行以下代码时遇到异常“无法使用 queryEndingAtValue:”。虽然相同的代码适用于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)));
});
}
解决方案
我已经修好了。在.endAt(oldest_message)
这里oldest_message 正在接收null。我在执行及其工作之前检查了 null 。
推荐阅读
- mongodb - mongostat 报告的“命令”操作的数量是多少?
- matlab - 使用 Matlab 在循环内更改循环
- java - 带有文件上传器的 JUnit forRest API 失败并出现 406 错误
- php - 如何替换 Symfony 4 函数中的变量?
- html - 在页面加载开始视图在容器的正确位置,但保留文本 ltr
- python - selenium.common.exceptions.SessionNotCreatedException:消息:无法找到与 GeckoDriver、Selenium 和 Firefox 匹配的一组功能
- python - 无论键的位置如何,都更新字典值
- angular - NgFor 显示最后一个元素
- php - zend框架zend_mail不发送电子邮件
- python - 如何在 Visual Studio 代码中安装 python 3rd 方库?