1

我有一个在“所有”和“收藏夹”之间切换的过滤器列表。这工作正常。但是,当我在这两种方法中激活已注释掉的 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)
     }
   )
}
4

0 回答 0