Могу ли я использовать свой собственный сервер NodeJS между клиентом и Firebase и по-прежнему использовать методы типа "on()"?



Я создаю веб-приложение с помощью Firebase. Клиент приложения связывается с моим собственным сервером NodeJS, который, в свою очередь, при необходимости связывается с приложением Firebase.



Firebase предлагает некоторые интересные функции, например функцию on(), которая автоматически обновляется при каждом изменении данных в Firebase.



Есть ли какой-либо способ использовать это в моем приложении NodeJS, чтобы мой сервер передавал обновление клиенту, без подключения клиента к Firebase напрямую?



Я пытался включить такую функцию on, но я получаю ошибку, когда данные обновляются и сервер аварийно завершает работу. Очевидно, узел не может просто отправить другой ответ, если не было явного запроса. Какие-нибудь советы?



app.get('/project/save', function(req, res) {
var result = firebase_admin.database().ref().on('value', function(d){
console.log(d.val());
return res.status(200).json(d.val());
});
});
579   1  

1 ответ:

Вы определенно можете поставить свой собственный узел.сервер js между вашими пользователями и базой данных Firebase. Но сделав это, вы возьмете на себя роль сервера приложений. И это означает, что вам также придется предоставить свою собственную реализацию/прокси для функций Firebase, таких как методы on().

Подход в связанном ответе намного проще и дает вам большую часть тех же преимуществ. Это также задокументировано в этой документации:

Firebase находится между приложением и серверной частью

Так вот оба ваши пользователи и ваш внутренний код (в данном случае работающий в гибкой среде App Engine, но он может работать в любой доверенной среде) по сути являются клиентами для базы данных Firebase.

Недавно мы выступали на саммите Firebase Dev Summit, где мы также рассмотрели этот подход: разработка мобильных приложений без инфраструктуры .

Comments

    Ничего не найдено.