У меня есть API-интерфейс ssdx, где я подключаюсь к firebase и считываю данные.Как назвать доходность в firebase read API
var roomRef = firebase.database().ref('/Users/' + userid + '/rooms')
var rooms = []
roomRef.once('value', function (snap) {
var roomkeys = snap.val()
for (var roomkey in roomkeys) {
firebase.database().ref('/Rooms/' + roomkey).once('value', function (item) {
rooms.push(item.val())
})
}
console.log(rooms)
--> put({type: 'LOAD_ROOMS', payload: { rooms: rooms}})
})
Поскольку мой объект находится внутри функции обратного вызова, я не могу использовать ключевое слово yield. Как мне отправить событие, чтобы изменить состояние моего редуктора с номерами новых значений?
Работал как очарование! благодаря ! – Ricky
В этом случае вам даже не нужно создавать экземпляр Promise самостоятельно, так как метод 'once' Firebase уже возвращает Promise. Если у вас есть функция: 'function getRooms (userId) {return firebase.database(). Ref ('users /' + userId + '/ rooms'). Once ('value'). Then (snap => snap. val())} ', вы можете затем' const rooms = yield call (getRooms, userId) ' – VonD