Javascript 如何在节点js中添加延迟加载?
这是我将所有帖子发送到前端的代码。但是我想在后端添加延迟加载。 后端不能一次发送所有数据。。间隔一段时间后呼叫1000个feed post。Javascript 如何在节点js中添加延迟加载?,javascript,node.js,mongodb,lazy-loading,Javascript,Node.js,Mongodb,Lazy Loading,这是我将所有帖子发送到前端的代码。但是我想在后端添加延迟加载。 后端不能一次发送所有数据。。间隔一段时间后呼叫1000个feed post。 数据太大,无法通过api调用。我看到的第一件事是:为什么不将wait放在try/catch块中 您可以使用skip和limit 我喜欢这样做: const posts = await Post.find().populate("receiver").populate("author") try {
数据太大,无法通过api调用。我看到的第一件事是:为什么不将
wait
放在try/catch
块中
您可以使用skip
和limit
我喜欢这样做:
const posts = await Post.find().populate("receiver").populate("author")
try {
res.json({
status: true,
message: 'All posts fetched',
data: posts.reverse()
})
根据您是使用GET还是POST,您需要向API发送额外的页面
在第1页你会看到10篇文章。在skip中,你有10乘以1,也就是10,但是你不想在第一次获取时跳过10篇文章。因此,您需要对-1
进行细分,使10乘以0等于0,以便在第一次提取时跳过0。由于您使用的是填充
我假设您使用的是mongoose,请尝试添加分页。您可以看到在mongoose中如何使用skip和limit
let page = req.body.page - 1;
let postAmount = 10;
try {
const posts = await Post.find().populate("receiver").populate("author").limit(postAmount).skip(postAmount * page)
res.json({
status: true,
message: 'All posts fetched',
data: posts.reverse()
})