gpt4 book ai didi

javascript - meteor ;发布后不立即对客户端进行排序

转载 作者:行者123 更新时间:2023-11-29 16:10:46 24 4
gpt4 key购买 nike

我正在尝试制作一个可以发布帖子的非常简单的应用程序。我希望帖子页面上的每个条目都按 { createdAt: -1 } 排序。当我第一次访问该页面时,这有效。但是,当我发布新帖子时,它会附加到页面底部。

the latest post is at the bottom

(注意最新的帖子在底部)。当我重新加载页面时,它似乎可以正常工作并正确排序,但在提交后,它立即进入底部。

我的服务端代码如下(/server/publications.js):

Meteor.publish('posts', function(limit) {
limit = limit || Meteor.settings.public.pageLimit;
check(limit, Number);
var options = {
sort: { createdAt: -1 },
limit: limit
};
return Posts.find({}, options);
});

在我的客户端上,我有这个 (/client/subscriptions.js):

Meteor.subscribe('posts');

如何使帖子在提交后立即正确排序?

最佳答案

我认为解决方案相当明显:您应该在客户端而不是服务器端进行排序。我猜你有一个包含帖子查询的辅助函数?在那里添加排序。

基本解释:Meteor 尝试在插入/更新时将最少量的信息推送给客户端。我猜它并没有完全重新运行订阅服务器端,这正是您所期望的,但它只是发送最后添加的元素,该元素被附加到客户端集合。

(注意:为了 100% 正确,您需要在两侧进行排序,因为您也限制了结果集的大小,并且您只希望推送最新的。)

关于javascript - meteor ;发布后不立即对客户端进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28813567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com