Кажется, что ev.off() убивает слушателей при переключении между вызовами 2 map()
У меня есть список с фильтром, который переключается между "все" и "избранное". Это работает хорошо. Однако, когда я активирую ev.off () с комментариями в обоих методах, переключение с одного фильтра на другой больше не даст результатов. Оба списка останутся пустыми с этого момента. (кстати: поскольку ev.off () все еще экспериментальный, пока я в порядке, не использую его. Возможно, эта информация может помочь в будущем выпуске)
1.subscribe () метод, который вызывает соответствующие методы списка
export const subscribe = (payload, cb) => {
const filter = payload.filter
const user = payload.user
switch (filter) {
case 'all' :
subscribeAllSkills(cb)
break
case 'favorites' :
subscribeFavoriteSkills(user, cb)
break
...
}
}
2.subscribeAllSkills ()
const subscribeAllSkills = (cb) => {
gun.get('skill')
.map()
.on(
(skill, pk, ctx, ev) => {
//ev.off()
cb(skill, pk)
}
)
}
3.
const subscribeFavoriteSkills = (user, cb) => {
gun.get('user')
.get(user.pk)
.get('favorite_skill')
.map()
.on(
(skill, pk, ctx, ev) => {
//ev.off()
cb(skill, pk)
}
)
}