Я создаю социальную сеть, где пользователи могут отправлять запросы другим пользователям.Синхронизация в реальном времени AngularFire с дополнительными данными
контроллер, который загружается, если пользователь проверяет страницу его сообщения:
$scope.requestedProfileTrips = Requests.getRequests(user.id).then(function (requests) {
$scope.requestedProfileTrips = [];
for (var i = 0; i < requests.length; i++) {
// this function loads additional data depending on the request from firebase
// from another database
loadProfileTrips(requests[i]);
}
});
Служба, которая получает запросы от firebase:
getRequests: function(userId){
// get requests
var sync = $firebase(ref.child("requests").child(userId));
var requestObject = sync.$asArray();
// add requests to object
return requestObject;
}
Объект запроса включает в себя идентификатор, а в MESSAGEID и скоро. В функции then
контроллера я получаю userId из другой базы данных. Это должно обновляться в реальном времени.
Если я:
$scope.requestedProfileTrips = Requests.getRequests(user.id);
обновление в режиме реального времени работает! Но я получил только идентификатор пользователя и идентификатор сообщения. Возможно ли получить данные из другой базы данных, в которой хранятся имена пользователей и т. Д. В режиме реального времени? Поэтому каждый раз, когда запрос добавляется из firebase, запускается функция функции getRequests в then
?
Спасибо за ваш ответ. Ваша вторая точка - именно то, что мне нужно. Мне нужно получать данные из внешней базы данных каждый раз, когда обновляются «запросы» от firebase. Как я могу это сделать в коде? – m1crdy