一个没有常识、活在自己世界中的中二病人(话痨)的自留地。

该频道不专注于 Daily 或 News,而是一个记录我当前关注和思考内容的地方。

1. 随机事项:每月为自己安排一些有趣的活动。(大概率🐦🤣
2. 同步内容:我会收集在其他平台上发布的内容。
3. 私人笔记:没经大脑的学习笔记以及一些个人随想。
4. ACG 内容:浓度高的部份还是挪到 另外一个频道 @tomoko_acg
5. 内容转发:在这个频道上转发的内容并不必然代表我个人的立场。
Tomoko の 赛博酒吧
太太太太抱歉了,我也没有想到睡着之后出bug了😱
找到 BUG 所在了, 逻辑是拿到 staticData 的最后一条的 id , 然后再循环 RSS 的 item 列表去匹配这个 id , 将这个 id 前的 item 都给发过来。

例如 items = [ 5, 4, 3, 2, 1 ], lastItemId = 3, 那么此时我就会将 5 4 这两个以 4 5 的顺序发出来。 然后更新 lastItemId 为 5。

而昨天的问题在于, xlog 的 RSS 不稳定, 时而是 [ 5, 4, 3, 2, 1 ], 时而是 [ 4, 3, 2, 1 ]。

就导致从 [ 5, 4, 3, 2, 1 ] 到 [ 4, 3, 2, 1 ] 的过程中,因为找不到 5 的 id, 所以直接将 1 2 3 4 发出来了。

所以昨晚深夜就是不断地在 1 2 3 4 + 5 这样在发~~


const staticData = getWorkflowStaticData('global');
const lastItemId = staticData.lastItemId;

...

if (lastItemId) {
  for (const item of items) {
    if (getId(item) === lastItemId) {
      break;
    }
    newItems.push(item)
  }
} else {
  newItems = [firstItem]
}

...
return newItems.reverse()


#事出反常必有妖
 
 
Back to Top