У меня есть эти саги, но я получаю отписку каждый раз на канале и неудачных действиях.Какова причина?Я использую React Native Firebase и RNFirestore
function firebaseChannel(userId) {
const ref = database
.collection("chat_rooms")
.where("metadata.members." + userId, ">", 0)
.orderBy("metadata.members." + userId, "desc")
const channel = eventChannel(emit => {
const unsubscribe = ref.onSnapshot(emit)
// Returns unsubscribe function
return unsubscribe
})
return channel
}
export function* sync() {
const userId = getUserId()
const channel = yield call(firebaseChannel, userId)
try {
while (true) {
const data = yield take(channel);
yield fork(successActionCreator(data, userId));
}
} catch (err) {
// yield fork(failureActionCreator(err))
console.tron.log("Failure", err)
}
finally {
// if (yield cancelled()) {
// channel.close();
// }
}
}