[英]How to add Lazy loading in Node js?
const posts = await Post.find().populate("receiver").populate("author")
try {
res.json({
status: true,
message: 'All posts fetched',
data: posts.reverse()
})
这是我将所有帖子发送到前端的代码。 但我想在后端添加延迟加载。 后端不能一次性发送所有数据.. 在某个时间间隔后调用 1000 个提要帖子。 数据太大,无法通过 api 调用。
我看到的第一件事:你为什么不把你的await
放在try / catch
块中?
您可以使用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()
})
根据您是使用 GET 还是 POST,您将需要向您的 API 发送额外的page
。
在第 1 页,您将看到 10 个帖子。 在跳过时,您有 10 个乘以 1,即 10,但您不想在第一次获取时跳过 10 个帖子。 因此,您需要减去-1
才能使 10 乘以 0 为 0,因此您在第一次提取时跳过 0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.