[英]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.