#javascript #firebase #react-native #firebase-realtime-database
#javascript #firebase #react-native #firebase-база данных в реальном времени
Вопрос:
По какой-то причине я могу читать и записывать в базу данных firebase в реальном времени только тогда, когда я подключен к WiFi, на котором я создал базу данных. Кто-нибудь знает причину, почему это происходит?
Я попытался отладить проблему, однако в моем журнале консоли не отображаются какие-либо подробности, когда я запускаю код, который запрашивает запрос. (при условии, что мои учетные данные верны)
import * as firebase from "firebase";
var config = {
apiKey: "********",
authDomain: "********",
databaseURL: "********",
projectId: "********",
storageBucket: "********",
messagingSenderId: "*******"
};
if (!firebase.apps.length) {
firebase.initializeApp(config);
console.log("initialized");
}
componentDidMount(){
console.log('before query function call');
firebase.database().ref().child('messages/').once('value', function (snapshot) {
console.log('in query function call');
console.log(snapshot.val())
});
ожидаемые результаты в журнале консоли
—инициализирован
—перед вызовом функции запроса
—в вызове функции запроса
— (снимок данных в базе данных реального времени)
фактические результаты в журнале консоли — инициализированы — перед вызовом функции запроса
Комментарии:
1. Является ли URL-адрес базы данных чем-то в вашей локальной сети?
2. URL базы данных — это ссылка https: //, это отвечает на ваш вопрос?
3. Протокол на самом деле не имеет значения. Мне больше интересно, является ли это локальным IP-адресом или чем-то еще. Например, 192.168.1.* или 10.0.*.*
4. Если это реальный веб-сайт, то я понятия не имею. На самом деле я не знаком с Firebase. Я просто пытаюсь исключить некоторые основные проблемы с сетью.
5. Наиболее вероятным кажется, что другая сеть блокирует Firebase. У него есть некоторые резервные механизмы от обычного протокола веб-сокетов до длительного опроса HTTPS, но, возможно, это не сработает для вас. Вкладка сети ваших инструментов отладки обычно должна быть действительно полезной здесь или включить ведение журнала отладки с
firebase.database.enableLogging(true)
помощью.